8

我正在尝试这样做,但我得到了错误。

“具有相同标识符值的不同对象已与会话相关联”

看起来我需要从休眠会话中删除 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}
}
4

1 回答 1

18

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}
}

请参阅GORM discard() 文档

于 2010-02-18T18:58:06.087 回答