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

在grails域类中使用接口时出错,grails,groovy,Grails,Groovy,我试图用grails实现一个接口基域类,但在运行时遇到了错误。错误类型为无法确定:com.testApp.MyInterface的类型,见表C // in /src/groovy directory interface MyInterface{ int returnSomething() } // in domain class directory class A implements MyInterface{ int returnSomething(){

我试图用grails实现一个接口基域类,但在运行时遇到了错误。错误类型为
无法确定:com.testApp.MyInterface的类型,见表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
    ..............
}

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

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