我有一个域类Enquiry,其中会自动生成一个主键id。我有不是主键的enquiry_no,但我想使其成为唯一的自动递增字段,我需要在我的gsp页面中显示该字段。

我已经看过grails文档,但找不到我们进行非主键自动增量的方法。

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

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

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

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

}

最佳答案

您可以通过GORM的 beforeUpdate 添加自己的方法,尽管请记住,应用程序外部的更新不会触发此操作(不过Craig Ringer's注释就足够了):

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

如果您还想限制对enquiry_no的访问,可能也要这么做。

09-27 09:51