小编use*_*163的帖子

在grails/hibernate中使用uuid或guid作为id

我需要将GUID/UUID作为行的id列.

这是为了能够在线和离线创建条目,当然在合并时不会在PK上产生这些冲突.我知道我可以缓解这一点,但我想保持简单,并且已经有使用uuid/guids来定义关系的遗留应用程序.数据也需要稍后同步.重写现有应用程序不是一种选择.

当我尝试使用GUID或UUID与grails时,我得到一个错误500.(在h2上使用GUID导致另一个错误 - 拒绝该数据库不支持GUID,如预期的那样).

我尝试保存'WithUUID'时收到此错误:

URI    /gtestUUID/withUUID/save
Class    java.lang.IllegalArgumentException
Message    argument type mismatch
Run Code Online (Sandbox Code Playgroud)

完整错误500:http: //imgur.com/m2Udbm6.png

我试过使用mariadb 5.5和1.1.7驱动程序,这导致了同样的问题.

Grails 2.3.8.Windows 8.1(x64).Netbeans 7.4

全部默认.

示例类:

WithUUID.groovy:

package gtestuuid

class WithUUID {
    String name
    static constraints = {
    }
    static mapping = {
        id generator: 'uuid'
    }
}
Run Code Online (Sandbox Code Playgroud)

WithUUIDController.groovy:

package gtestuuid

class WithUUIDController {
    def scaffold = WithUUID
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

链接到相关的grails文档

(由于我的低代表,我无法发布更多文档/帖子的链接)

grails groovy hibernate hibernate-mapping

5
推荐指数
2
解决办法
7485
查看次数

标签 统计

grails ×1

groovy ×1

hibernate ×1

hibernate-mapping ×1