你如何从Grails中的休眠会话中断开一个对象? [英] How do you disconnect an object from it's hibernate session in grails?
本文介绍了你如何从Grails中的休眠会话中断开一个对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
具有相同标识符值的另一个对象已与会话相关联
p>它看起来像我需要从休眠会话中删除dbObject。
def object = messageParserService.parseMessage(messageType,messageText)
def dbObject = object.getClass()。findByIdentifier(object.identifier)
if(dbObject!= null){
object.id = dbObject.id
object.dateCreated = dbObject.dateCreated
}
if(!object.save()){
object.errors.each {println it}
}
解决方案
dbObject.discard() / b>
def object = messageParserService.parseMessage(messageType,messageText)
def dbObject = object.getClass()。findByIdentifier(object .identifier)
if(dbObject!= null){
object.id = dbObject.id
object.dateCreated = dbObject.dateCreated
dbObject.discard()
}
if(!object.save()){
object.errors.each {println it}}
}
code>
请参阅 GORM discard()文档。
I'm trying to do this, but I get the error.
"a different object with the same identifier value was already associated with the session"
It looks like I need to remove dbObject from the hibernate session.
def object = messageParserService.parseMessage(messageType, messageText)
def dbObject = object.getClass().findByIdentifier(object.identifier)
if(dbObject != null){
object.id = dbObject.id
object.dateCreated = dbObject.dateCreated
}
if(!object.save()) {
object.errors.each {println it}
}
解决方案
dbObject.discard() did the trick.
def object = messageParserService.parseMessage(messageType, messageText)
def dbObject = object.getClass().findByIdentifier(object.identifier)
if(dbObject != null){
object.id = dbObject.id
object.dateCreated = dbObject.dateCreated
dbObject.discard()
}
if(!object.save()) {
object.errors.each {println it}
}
See the GORM discard() documentation.
这篇关于你如何从Grails中的休眠会话中断开一个对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文