【问题标题】:Grails (2.3.11) persistence fields in MySQL have no default valueMySQL 中的 Grails (2.3.11) 持久性字段没有默认值
【发布时间】:2015-07-27 19:10:00
【问题描述】:

我们正在使用 Grails 2.3.11 和 MySQL 5.6.23

我注意到“id”和“version”列没有指定默认值。 Grails 不应该使用默认值 null 创建这两个列吗?

【问题讨论】:

  • 在主键字段中设置默认空值有什么意义?

标签: mysql hibernate grails


【解决方案1】:

ID 和版本字段(如果您的域对象支持版本控制)不应为空。 Id 字段是 Grails 中的主键和唯一对象标识符……没有 id 值的对象基本上无法被 Grails/GORM 检索。

可以通过域类上的 GORM 配置禁用版本字段,但如果存在,则需要进行乐观锁定检查。

【讨论】:

  • 如果version 被禁用,则不会为其生成任何字段。
猜你喜欢
  • 1970-01-01
  • 2016-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-04
  • 1970-01-01
  • 2013-03-04
相关资源
最近更新 更多