【发布时间】:2015-07-27 19:10:00
【问题描述】:
我们正在使用 Grails 2.3.11 和 MySQL 5.6.23
我注意到“id”和“version”列没有指定默认值。 Grails 不应该使用默认值 null 创建这两个列吗?
【问题讨论】:
-
在主键字段中设置默认空值有什么意义?
我们正在使用 Grails 2.3.11 和 MySQL 5.6.23
我注意到“id”和“version”列没有指定默认值。 Grails 不应该使用默认值 null 创建这两个列吗?
【问题讨论】:
ID 和版本字段(如果您的域对象支持版本控制)不应为空。 Id 字段是 Grails 中的主键和唯一对象标识符……没有 id 值的对象基本上无法被 Grails/GORM 检索。
可以通过域类上的 GORM 配置禁用版本字段,但如果存在,则需要进行乐观锁定检查。
【讨论】:
version 被禁用,则不会为其生成任何字段。