2012-06-07 95 views
0

我正在使用休眠。我正在刪除記錄使用刪除方法如下。獲取刪除的記錄?

Session session = sessionFactory.getCurrentSession(); 
session.delete(pojotobedeleted); 

我的要求是刪除記錄後,它應該返回相同的刪除記錄。我怎樣才能得到刪除的記錄?

謝謝!

+6

'回報pojotobedeleted;'? – maksimov

+0

添加一個偵聽器來處理生命週期事件。 –

+1

返回pojotobedeleted有點作品,但當然,如果你需要pojo不要刪除它,直到你完成它。暫時的pojo將包含一個id,它不再存在於數據存儲區中,所以如果pojo被改變了,那麼這些改變可以被持久化 - 所以需要點 – NimChimpsky

回答

0

我說當然

Session session = sessionFactory.getCurrentSession(); 
pojotobedeleted = session.load(Pojo.class, id); /* not necessary if loaded before */ 
session.delete(pojotobedeleted); 
return pojotobedeleted; 

有這樣做的一個額外的SELECT語句,但是這是與本地SQL相同。 SQL刪除不會返回已刪除的行,並且hibernate不會比原生SQL更好。

(如果這不是你想要的話,我不明白你的問題:目標是什麼,爲什麼不能在我的例子喜歡?)