在grails域类中使用接口时出错

时间:2014-05-20 23:16:00

标签: grails groovy

我试图使用grails来阻止接口基类域类,并且我在运行时遇到错误。错误类型为Could not determine type for: com.testApp.MyInterface , at table: C

// in /src/groovy directory
interface    MyInterface{
    int    returnSomething()
}

// in domain class directory 
class   A   implements MyInterface{
    int returnSomething(){
    //a first implementation here
  }
}

class B implements MyInterface{
    int returnSomething(){
    //a second implementation here
  }
}

class C {
    ....
    MyInterface type
    ..............
}

我认为因为我没有指定" MyInterface"在域类C中,grails在启动时注入bean时会遇到麻烦。但我想尽可能保持MyInterface抽象,因为不同类会以各种方式实现它。有没有办法克服这个错误?我可以在没有域类扩展的情况下构建我的模型(我希望尽可能避免这种情况)吗?

1 个答案:

答案 0 :(得分:0)

只有在想要保留数据时才需要域类。在不了解您的具体情况的情况下,您可能希望创建A,B和C类服务而不是域类。根据我的经验,子类和接口在服务领域比域类领域更好地工作。我想,每个returnSomething()实现都可以在不需要接口的不同域类上运行。