[Grails] grails的域类搞的非常不爽

xiaobin268 2009-06-25
初学grails,可能水平不够.欢迎大家拍砖.
做个简单的比喻:比如:我有个功能对象:function,我现在在functin里定义了功能列表的过期时间,
 public boolean isFuncExpired(){
        return FUNCTION_EXPIRED > function;
    }

就着一个方法,但是grails就是运行不过去,不知道大家对这有什么看法,.难道不能在域类里面定义一些方法么???难道我非得定义FuncExpired这个属性么??
还有一点:我定义了FuncExpired这个属性的话,grails就会在数据库里建立这个字段,有没有办法让它不更新到数据库
hushan_hn 2009-06-25
这点确实不爽,加上如下语句可以避免此问题
 static transients = ['funcExpired']


transients 标明此字段是临时字段,不更新到数据库
xiaobin268 2009-06-25
hushan_hn 写道
这点确实不爽,加上如下语句可以避免此问题
 static transients = ['funcExpired']


transients 标明此字段是临时字段,不更新到数据库

非常感谢!!
Fly_m 2009-06-26
这不是grails的问题,如果在java里也这样写,hibernate也会将funcExpireed这个认为是一个数据库字段的。
这是因为你的方法命名恰好符合javaBean的规范,在大多数运用中,都会认识funcExpireed这是类的一个属性。
第一种方法是改方法签名,第二种方法可以在方法签名上加一个transient,至少java里是这样做的,其他grails里上面已经提到:)
SSailYang 2009-06-28
这就不应该是一个 Model。Model 是一个领域对象,有哪个领域对象是没有属性的?
Global site tag (gtag.js) - Google Analytics