在Grails 1.3.6中,nullable:true和nullable:false之间没有区别吗?

kno*_*orv 1 grails grails-orm

以下域模型定义..

class Test {
  String a
  String b

  static mapping = {
    version(false)
    table("test_table")
    a(nullable: false)
    b(nullable: true)
  }
}
Run Code Online (Sandbox Code Playgroud)

..产生以下MySQL模式..

CREATE TABLE test_table (
  id bigint(20) NOT NULL AUTO_INCREMENT,
  a varchar(255) NOT NULL,
  b varchar(255) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

请注意ab获得相同的MySQL列定义,尽管事实a被定义为非可空,并且b在GORM映射中可以为空.

我究竟做错了什么?我正在运行Grails 1.3.6.

Ted*_*eid 7

nullable真/假进入static constraints封闭,而不是封闭static mapping.请参阅Grails文档的约束部分.