gpt4 book ai didi

hibernate - Grails org.h2.jdbc.JdbcSQLException 列的值太长

转载 作者:行者123 更新时间:2023-12-02 14:06:48 26 4
gpt4 key购买 nike

我是 Grails 的新手,不太熟悉 GORM 如何将列映射到 jdbc 实现。
基本上我有以下错误:

org.h2.jdbc.JdbcSQLException

信息:

Value too long for column "KEYWORDS BINARY(255)": "X'aced0005737200116a6176612e7574696c2e486173684d61700507dac1c31660d103000246000a6c6f6164466163746f724900097468726573686f6c647870... (1871)"; SQL语句:插入用户(id、版本、email、face_url、keywords、name、phone、tags、terminals、url、weibo_id、weibo_name)值(null、?、?、?、?、?、?、?、? , ?, ?, ?) [22001-176]

我尝试了几种方法来更改此 KEYWORD 属性的保存方式,例如

static constraints = {
...
keywords(type:'serializable')
}

我也尝试过“maxSize:10000”、“type:'text'”以及这两者的组合。但没有一个成功,错误是完全一样的。
“keyword”属性只是 key=String, value=Double 的 HashMap。

一般来说,我只是不确定让 Grails(Hibernate) 存储哈希图的最佳做法是什么。我相信在某个地方必须有一个简单的设置,而不是自己为 hibernate 或 grails 实现用户定义的持久性方式。而且我想知道为什么每次它似乎都被转换为二进制(我确实重新运行了应用程序以让数据库删除并创建所有表)。

更多细节,我的 Controller 只是脚手架。 Grails 版本是 2.4.4。 H2db 用于开发环境。

任何建议表示赞赏!

最佳答案

我猜你在静态闭包中定义关键字是错误的,你应该像这样在静态映射中写它

static mapping = {
keywords sqlType:'text'
}

希望这可以帮助。谢谢

关于hibernate - Grails org.h2.jdbc.JdbcSQLException 列的值太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33414471/

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