0
如here所述,使用with closure
可以創建對象的新實例更簡單更簡單。但是如何在更新我的對象的實體值時使用這個閉包? 說我想更新有一個ID我的人對象的字段= 1如何使用閉包來更新對象的實體?
def p = Person.findById(1)
p.fname = 'First'
p.lname = 'Last'
p.save()
如here所述,使用with closure
可以創建對象的新實例更簡單更簡單。但是如何在更新我的對象的實體值時使用這個閉包? 說我想更新有一個ID我的人對象的字段= 1如何使用閉包來更新對象的實體?
def p = Person.findById(1)
p.fname = 'First'
p.lname = 'Last'
p.save()
你的意思是這樣的:
Person.findById(1).with {
fname = 'First'
lname = 'Last'
save()
}
這不是100%來自這個問題清楚,這就是你意思是...
謝謝。我已經嘗試了上面的代碼,但是這不起作用,這就是我發佈這個查詢的原因。與你相同的代碼給了我這個錯誤,「不能使一個不可變的實體可修改。」這就是爲什麼我想知道如果我想更新我的對象的實體,是否正確使用with closure。謝謝:) – chemilleX3 2013-05-09 02:02:24
我得到了問題。我收到此錯誤消息是因爲我的域類處於緩存只讀設置。謝謝:) – chemilleX3 2013-05-09 06:28:34
@ chemilleX3我會問是否[這是問題](http://stackoverflow.com/questions/12699393/grails-data-binding-cannot-make-an-immutable-entity-modifiable); -) 真高興你做到了! – 2013-05-09 08:23:05