我有一个关于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 application / hibernate自动生成的?
答案 0 :(得分:1)
Id字段是在运行时生成的,java不知道有关动态引用的任何信息。 从服务层访问该域。 http://grails.org/doc/latest/guide/services.html#usingServicesFromJava
还谷歌:“grails access service java”
你可以在DomainService.groovy
中写一些这样的东西class DomainService(){
def persistAndGetNewDomain(){
new Domain().save(flush:true)
}
}
此外,您必须将id字段添加到域类
class DomainObject {
Long id
String name
String email
}