gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 01:24:54 25 4
gpt4 key购买 nike

我有一个应用程序正在尝试将照片保存到数据库中。我创建了一个带有 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

关于mysql - mysql 中 grails byte[] 属性的数据类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4533248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com