mysql中的错误数据类型为grails byte []属性

我有一个应用程序试图将照片保存到数据库。我创建了一个带有byte []属性的grails域类,这在使用HSQLDB(grails中的默认值)时运行良好。但是,当我将数据库更改为MySQL时,我最终收到以下错误:
Data truncation: Data too long for column 'photo' at row 1
然后,我查看了模式,发现byte []被创建为TINYBLOB字段,导致错误。 如何指定此属性应对应于数据库中的BLOB / LONGBLOB类型?     
已邀请:
您应该能够通过添加
mapping
闭包来管理它,如下所示:
static mapping = {
    photo type: "binary" // or "blob"?
}
文档位于:http://grails.org/doc/latest/ref/Database%20Mapping/type.html Hibernate类型在这里:http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-types-basictypes 还有一个
sqlType
属性,我认为它是指底层数据库类型,而不是hibernate的数据库不可知类型抽象:
static mapping = {
    photo column: "photo_data", sqlType: "blob"
}
这方面的文档在这里: http://grails.org/doc/latest/ref/Database%20Mapping/column.html     
使用该字段的maxSize创建约束。
static constraints = {
    photo(maxSize: 102400) // 100Kb
}
    

要回复问题请先登录注册