[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 是一个领域对象,有哪个领域对象是没有属性的?
|