【发布时间】:2014-05-19 11:08:48
【问题描述】:
我需要将 GUID/UUID 作为我的行的 id 列。
这是为了能够在线和离线创建条目,当然在合并时不会在PK上出现这些冲突。我知道我可以缓解这种情况,但我想保持简单,并且已经有遗留应用程序使用 uuid/guids 来定义关系)。以后还需要双向同步数据。重写现有应用程序不是一种选择。
当我尝试将 GUID 或 UUID 与 grails 一起使用时,我收到错误 500。(在 h2 上使用 GUID 会导致另一个错误 - 说明 DB 不支持 GUID,正如预期的那样)。
当我尝试保存“WithUUID”时出现此错误:
URI /gtestUUID/withUUID/save
Class java.lang.IllegalArgumentException
Message argument type mismatch
整个错误 500: http://imgur.com/m2Udbm6.png
我尝试过使用 mariadb 5.5 和 1.1.7 驱动程序,这会导致同样的问题。
Grails 2.3.8。视窗 8.1 (x64)。网豆 7.4
全部默认。
示例类:
WithUUID.groovy:
package gtestuuid
class WithUUID {
String name
static constraints = {
}
static mapping = {
id generator: 'uuid'
}
}
WithUUIDController.groovy:
package gtestuuid
class WithUUIDController {
def scaffold = WithUUID
}
任何帮助将不胜感激。
Link to relevant grails documentation
(由于我的代表率低,我无法发布更多文档/帖子的链接)
【问题讨论】:
-
我认为您需要将 id 设置为 String 或 UUID(或任何您需要的)
-
谢谢!我从来没有考虑过这个选项。请作为答案提交,我会标记为正确
-
完成! (还有另一种可能)
标签: hibernate grails groovy hibernate-mapping