Hibernate拉出的持久對象放入新集合中被修改,持久對象也變了

以前對hibernate研究不是很深入,今天做項目又遇到一個問題,就是在hibernate中拉出的持久對象放入新集合中被修改,持久對象也變了。找了很久都沒找到問題,最後才發現原來hibernate並不是看操作的對象是否是持久化對象,而是看目標對象中是否有持久化對象。

剛開始代碼是這樣的,rpds是持久化的對象,而rpdss是新new的集合。我把rpd中的數據放入在rpdss中然後進行了一系列的處理。沒想到每次處理完後我rpd中的持久化對象都被修改了。

原因就是因爲新new的集合中存在持久化對象。所以需要把rpds中的持久化對象做一個轉存,所以我新建了一個臨時的對象來儲存

改爲這樣即可。

哎,之前沒真正搞懂hibernate遇到了不少問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章