我在通過JSON發送的客戶端保存對象時存在一個非常基本的問題。Grails Gorm部分保存
我有一個客戶對象被轉移到客戶端,編輯完客戶後將其發送回Grails並需要保存在數據庫中。爲了提高性能,我不通過電線發送完整的客戶對象。
現在的問題是,如果我想存儲客戶對象Grails驗證當然客戶對象的關係並失敗。這是好的,因爲我沒有發送關係。
我的問題是現在我該如何解決這個問題呢?我是否需要使用客戶ID再次查詢數據庫並更新已編輯的屬性或者是否有更優雅的方式?從數據庫角度看,這看起來有點貴,因爲每次存儲對象時都需要讀取數據庫。從代碼角度來看,我需要檢查設置了哪些屬性並更新它們。
謝謝!
你可以做'jsonInstance'短,只需用'customerInstance.properties = jsonInstance作爲Map'或者,更安全,'customerInstance.properties =(jsonInstance如地圖).subMap([ 'allowedField',' anotherAllowedField'])'。 –
如果你這樣做,你將失去'customerInstance'中設置的所有其他屬性,這些屬性在customerInstance上設置。這正是他不想要的,所以你必須將這些屬性合併到現有的屬性中。不是嗎? – Chris
對不起,什麼「其他」屬性?這將只設置屬性jsonInstance包含 - 或者subMap()參數提及。 IIGIR不希望再次讀取對象,只更新已更改的屬性。這是對的,不能用GORM和HQL完成,並且完全繞過驗證。如果你的意思是嵌套屬性,兩種方式都會支持它們。 –