Grails:具有新会话的NonUniqueObjectException

时间:2015-03-19 06:33:09

标签: hibernate grails gorm

我在grails应用程序中使用以下代码:

def domainId = params.id
def domain = Domain.get(domainId)
def users = // assume this is an array of approx 2200 entries
Thread t = new Thread(new Runnable() {
    @Override
    void run() {
        User.withNewSession {
            def mDomain = Domain.get(domainId)
            users.each { user ->
                try {
                    // some code
                    mDomain.save(flush:true)
                } catch (e) {
                    log.error(e)
                }
            }
        }
    }
})
t.start()  

上面的代码给出了异常 - NonUniqueObjectException: A different object with the same identifier value was already associated with the session

数组中的所有条目都没有例外。在2200个条目中,异常被抛出大约1500个。我已经在新线程中使用withNewSession并且对于users数组中的所有条目,使用了mDomain的相同实例。

0 个答案:

没有答案