grails域类的java接口

Mic*_*Lee 3 java grails groovy

我正在研究的大项目中有四个组件......

  1. 现有的JPA/Hibernate java库(java域).
  2. 与java域一起使用的现有服务层.
  3. Java类库只有基本接口(api和元数据).
  4. 新的grails项目

除了最后一件之外,我已成功将大部分内容捆绑在一起.我有一个现有的servlet,它接受来自api的接口类,但我似乎无法在任何grails域类上实现我的接口.

一个例子...

api库中的接口示例...

public interface IPerson{
    public Object getId()
    public String getName()
}
Run Code Online (Sandbox Code Playgroud)

Grails域类......

class Person implements IPerson{
...
    def getId(){
        return id
    }

    String getName(){
       return name;
    }

}
Run Code Online (Sandbox Code Playgroud)

我的项目在没有grails域类的接口的情况下工作正常,但是一旦我添加它,它似乎就不被识别为实体.我得到的错误就像

groovy.lang.MissingMethodException: No signature of method: static com.some.thing.Person.getAll() is applicable for argument types: () values: []
Run Code Online (Sandbox Code Playgroud)

有没有人尝试过这样的东西?

Art*_*wak 5

问题显然是由于其中一个方法被调用的事实引起的getId(),因此它本质上定义了域类字段id,它与隐式字段冲突.所以,你可以通过重命名改变所描述的生成策略,此方法或(希望,没有测试自己)解决的问题在这里.

  • 如果您可以分享您的解决方法,那会很好. (8认同)