1
我通過hibernate搜索加載了一些hibernate對象,然後在UI中顯示它們。在那裏,我們的用戶選擇一個對象並從@ManyToMany關聯中刪除一些元素。停止在關聯集合中保留更改
當然,正如在hibernate documentation中所寫的那樣,當會話刷新時,即使我沒有在找到的對象中調用Session#save,也會自動保持更改。
但這不是我需要的行爲。我需要我的用戶從關聯中刪除對象,但僅臨時刪除對象,僅用於在不更改數據庫的情況下從修改後的對象生成報告。因此,關聯中刪除的對象不會顯示在我的報告中。
我該如何做到這一點?
我在考慮將關聯的對象標記爲Cloneable並構建一個新實體並在那裏進行更改,因爲此特定UI中的所有操作都是隻讀的。
有什麼建議嗎?
請注意,我使用的是hibernate 3.6,所以CascadeType.DETACH代替了Evict。 – ElderMael 2012-07-11 19:36:07