我正在尝试这样做,但我得到了错误.
"具有相同标识符值的不同对象已与会话关联"
看起来我需要从hibernate会话中删除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}
}
Run Code Online (Sandbox Code Playgroud)
ScA*_*er2 17
dbObject.discard()完成了这个伎俩.
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}
}
Run Code Online (Sandbox Code Playgroud)
请参阅GORM discard()文档.