是否可以强制 Grails/Gorm 在插入中不包含列?

Joh*_*n O 6 grails grails-orm

例如,假设我想让该列设置为数据库默认的任何值,而不在域类中重新定义该默认值?

我通过谷歌找不到太多东西。有迹象表明,如果我直接使用 Hibernate,我可以将该特定列/属性设置为私有,这可能会实现我所寻求的目标。

我当然可以将该列保留为未定义,GORM 会忽略它。但每当 Grails 应用程序进行选择时,我都需要其中的值。

Nic*_*col 3

您可以像文档中那样使用可插入的 GORM 属性,也可以通过事件读取值beforeInsert

class Book {
    String title
    String isbn

    static mapping = {
        isbn nullable: false
    }

    def beforeInsert {
        title = queryFromDatabase...
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 为了避免混淆,您提供的链接是真正的答案:http://grails.org/doc/2.1.0/ref/Database%20Mapping/insertable.html,使用“insertable”和“updateable”都等于“ false`,效果很好,谢谢。 (2认同)