3
我正在使用grails 2.0和mysql,我希望一些域属性可以为空。 在我的领域类我所做的:如何使用Grails 2.0获得可空的约束?
static constraints = {
counter(nullable: true)
competitors(nullable: true)
}
开始我的Grails应用程序后,它会创建correspondending SQL但在我mysql表,属性不是空的,他们是“NOT NULL”。
CREATE TABLE `lookup_query` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`version` bigint(20) NOT NULL,
`competitors` bigint(20) NOT NULL,
`counter` bigint(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
为什么我的mysql属性“NOT NULL”而不是“NULL”?我希望他们是“空”。我的错误在哪里?
在MySQL中删除'lookup_query'并再次运行Grails 2.0以确保在应用程序启动过程中重新创建表。如果表字段仍然不是NULL,请分享您的整个LookupQuery域类代码。 – 2011-12-25 22:02:10
这不起作用。我越来越接近这个问题。 Hibernate不会使数据库中的Long属性为空。使用字符串一切工作正常,但与长期属性休眠不会让他们在数据库中可空...这是一个休眠错误? – whitenexx 2011-12-29 00:59:30
确保你已经宣布“长竞争者”不是“长竞争者”。 – 2011-12-29 07:50:44