Grails 的一个错误:a different object with the same identifier value ... grailshibernatesessionconstraints
程序员文章站
2024-03-19 23:49:40
...
这是一个hibernate中的错误:a different object with the same identifier value was already associated with the session
grails程序开发过程中不知道动了哪里,导致了上述问题的产生,网上有的说使用merge,refresh,clear来解决问题,但,实际上都没有真正解决问题,要找到产生问题的原因才行,否则,一个地方使用merge但是其他地方又出现了问题,还有的地方改成merge之后,还出现了乐观锁问题!
最后,没有办法,使用了我的无敌必杀技,排除法,把我最近的版本文件一个一个的移除,最终找到了问题的出处,是Domain中使用了
这段代码我是想约束username,gamezone成为唯一索引,注释掉,问题就没有了!
将此处代码改成其他相似的方法吧!
这种问题在正常的Grails开发中不会出现,但是如果你自己想在src/groovy中加入自己的一些有趣的东西时,那里用到domain,就可能产生这个问题了!
==================
Grails还有人用吗,我用着挺好的!!希望Grails越来越好!
转载请加链接:http://qixin000.iteye.com/blog/2087404
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
推荐阅读
-
Grails 的一个错误:a different object with the same identifier value ... grailshibernatesessionconstraints
-
hibernate的报错信息a different object with the same identifier value was already associated with the session解决办法
-
hibernate的报错信息a different object with the same identifier value was already associated with the session解决办法