grails域类上的java接口(interface)

原文 标签 java grails groovy

我正在处理的大型项目中有四个组件...

  • 现有的 JPA/Hibernate java 库(java 域)。
  • 与 java 域一起工作的现有服务层。
  • 仅包含基本接口(interface)(api 和元数据)的 Java 类库。
  • 新 chalice 项目

  • 除了最后一 block ,我已经成功地将其中的大部分绑在一起。我有一个现有的 servlet,它从 api 接收接口(interface)类,但我似乎无法在任何 grails 域类上实现我的接口(interface)。

    一个例子...

    api库中的接口(interface)示例...
    public interface IPerson{
        public Object getId()
        public String getName()
    }
    

    Grails 域类...
    class Person implements IPerson{
    ...
        def getId(){
            return id
        }
    
        String getName(){
           return name;
        }
    
    }
    

    我的项目在没有 grails 域类上的接口(interface)的情况下工作正常,但是一旦我添加它,它似乎没有被识别为实体 .我收到类似的错误
    groovy.lang.MissingMethodException: No signature of method: static com.some.thing.Person.getAll() is applicable for argument types: () values: []
    

    有没有人尝试过这样的事情?

    最佳答案

    问题显然是由其中一种方法称为 getId() 的事实引起的。 ,所以它本质上是定义域类字段 id ,这与隐含的冲突。因此,您可以通过重命名此方法或(希望自己尚未测试过)更改生成策略来解决问题,如 here 所述。 .

    关于grails域类上的java接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7098688/

    相关文章:

    java - Glassfish - 获取 session 中的所有队列

    java - 如何使用 Java 的 ProcessBuilder.start() 暂停进程运行?

    java - 如何在MQ消息中填充ApplIdentityData

    maven - Unresolved 依赖项Grails 2.3

    grails - 用grails更改文件的编码

    dictionary - 为什么通过括号中的变量访问 groovy map 总是返回 null?

    java - 准备的语句更新-性能改进

    grails - 将图像与Grails Assets 管道捆绑在一起是否有意义?

    java - Groovy WSClient和文档/文字WS

    mysql - 通过Grails控制台访问Grails mysql数据库?