Grails 的一个错误:a different object with the same identifier value ...

这是一个hibernate中的错误:[color=red]a different object with the same identifier value was already associated with the session[/color]
grails程序开发过程中不知道动了哪里,导致了上述问题的产生,网上有的说使用merge,refresh,clear来解决问题,但,实际上都没有真正解决问题,要找到产生问题的原因才行,否则,一个地方使用merge但是其他地方又出现了问题,还有的地方改成merge之后,还出现了乐观锁问题!

最后,没有办法,使用了我的无敌必杀技,排除法,把我最近的版本文件一个一个的移除,最终找到了问题的出处,是Domain中使用了
static constraints = {
username(blank: false)
username(unique: 'gameZone')
gameZone(blank: false);
}

这段代码我是想约束username,gamezone成为唯一索引,注释掉,问题就没有了!
将此处代码改成其他相似的方法吧!

static mapping = {
id composite: ['username','gameZone']
}
static constraints = {
username(blank: false)
gameZone(blank: false);
//username(unique: 'gameZone');
}


这种问题在正常的Grails开发中不会出现,但是如果你自己想在src/groovy中加入自己的一些有趣的东西时,那里用到domain,就可能产生这个问题了!
==================
Grails还有人用吗,我用着挺好的!!希望Grails越来越好!

转载请加链接:http://qixin000.iteye.com/blog/2087404
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值