1
如果我使控制器的域對象,不叫.save()
,Grails將在某個時候會自動爲我做的。我正在創建大量域對象,而不打算保存所有這些對象,並在我的服務退出時獲取「引用未保存的瞬時實例」異常。獲取所有對象的列表Grails是打算奇蹟般地保存
我怎麼會拿到Grails將嘗試保存在控制器/服務退出,這樣我可以阻止其中一些被保存的所有對象的列表?
如果我使控制器的域對象,不叫.save()
,Grails將在某個時候會自動爲我做的。我正在創建大量域對象,而不打算保存所有這些對象,並在我的服務退出時獲取「引用未保存的瞬時實例」異常。獲取所有對象的列表Grails是打算奇蹟般地保存
我怎麼會拿到Grails將嘗試保存在控制器/服務退出,這樣我可以阻止其中一些被保存的所有對象的列表?
您最好檢索您知道要編輯的實例,但不希望使用read
方法而不是get
。使用read
不會使其成爲只讀,因爲如果您調用save()
並且它已被修改,它將被保留,但在OSIV攔截器刷新會話時不會自動保留。
另一種選擇(尤其是如果該實例不單獨加載)是從使用detach()
當你編輯它會刪除它。
你也可以使用的DTO和數據複製到這些非持久性類,所以你不持久化類,只是數據類,Hibernate並不知道搞混。
我談論的對象我就與'新SomeDomainClass()',但隨後並沒有真正想要的。 – Mikey 2012-08-14 00:39:04
此外,根據您的「使用的DTO」的評論,你可以看看我的問題:http://stackoverflow.com/questions/11918276/grails-can-i-use-domain-objects-when-i-dont-want-以保存任何東西 – Mikey 2012-08-14 00:39:43
伯特,我覺得有時候我對你粗魯無禮,對熱情不夠。這與我的感受離不開。你搖滾,謝謝你回答我的許多問題。 – Mikey 2012-08-14 01:15:55