欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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中使用了
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