使用isdirty()自动递增不是主键的字段

时间:2014-07-10 09:01:07

标签: postgresql grails groovy

我有一个域类Enquiry,其中自动生成主键id。我有enquiry_no这不是主键,但我想让它成为一个独特的自动增量字段,我需要在我的gsp页面中显示。

我已经阅读过grails文档,但无法找到一种方法,可以使非主键自动增量。

请建议我解决此问题的方法。

正如答案所示,我在我的域类查询中尝试了以下代码,但它仍无法正常工作?

    def beforeUpdate() {
     "in before update method"println
     Enquiry enquiry=Enquiry.get(1)

    if(enquiry.isDirty()==true) {
        enquiryNo += 1
    }

}

1 个答案:

答案 0 :(得分:0)

您可以通过GORM beforeUpdate添加自己的方法,但请记住,应用程序之外的更新不会触发此操作(Craig Ringer's评论应该足够了):< / p>

class Enquiry {
    //...
    def beforeUpdate() {
        enquiry_no += 1// Or whichever value you need
    }
}

如果您还没有,也可以限制对enquiry_no的访问权限。