我是 Grails 的新手,我正在使用带有 MySQL 5.5 后端的 Grails 2.1 来构建一个示例项目来学习。
我安装了 JodaTime 1.4 Plug-in 然后运行grails install-joda-time-templates
但是,当我将域类字段声明为 org.joda.time.DateTime 类型时,尝试保存新条目时出现错误。
为了隔离问题,我创建了一个简单的域类:
import org.joda.time.DateTime
class Project
{
String name
DateTime startDate
static constraints = {
name(blank: false, maxSize: 50)
startDate(validator: {return (it > new DateTime())})
}
}
控制器只是将脚手架设置为使用域类。
我的 DataSource.groovy 指定dbCreate = "create-drop"
,因为我让 Grails 创建表。
这是我尝试保存时遇到的错误:
Class:com.mysql.jdbc.MysqlDataTruncation
Message:Data truncation: Data too long for column 'start_date' at row 1
当我查看 Grails 创建的 MySQL 数据库中的 project.start_date 列时,类型是 TINYBLOB。
我的想法是 TINYBLOB 可能不足以存储 JodaTime DateTime 字段的数据。
有谁知道我怎样才能让 Grails 创建一个合适的类型?
非常感谢你。