2010-02-18 16 views
7

मैं ऐसा करने की कोशिश कर रहा हूं, लेकिन मुझे त्रुटि मिलती है।आप किसी वस्तु को अपने हाइबरनेट सत्र से grails में कैसे डिस्कनेक्ट करते हैं?

ऐसा लगता है कि मैं हाइबरनेट सत्र से 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} 
} 

उत्तर

15

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() documentation देखें।

संबंधित मुद्दे