-1

我有一个关于 grails 域类的相当简单的问题。我不确定我知道如何正确表达它,因为我似乎无法在谷歌上找到答案。

我有一个 groovy 域类

class DomainObject {
    String name
    String email
}

和一个使用此域对象的 java 类。

public class DomainUser {
    public void method() {
        DomainObject object = new DomainObject();
        object.getId();
    }
}

但是我在线上遇到错误

object.getId();

留言

该类型的方法getId()未定义

我如何将 id 公开给 java 类,因为它是由 grails 应用程序/休眠自动生成的?

4

1 回答 1

1

id 字段是在运行时生成的,java 对动态引用一无所知。从服务层访问该域。 http://grails.org/doc/latest/guide/services.html#usingServicesFromJava

也谷歌:“grails访问服务java”

第一个结果是http://grails.1312388.n4.nabble.com/Question-How-do-I-reference-a-Grails-service-from-within-Java-class-td1462056.html

你可以在你的 DomainService.groovy 中写一些这样的东西

class DomainService(){
    def persistAndGetNewDomain(){
       new Domain().save(flush:true)    
    }
}

此外,您必须将 id 字段添加到您的域类

class DomainObject {
    Long id
    String name
    String email
}
于 2012-12-08T11:33:58.970 回答