2011-12-22 113 views
0

當我嘗試使用HQL刪除對象時,我使用了hiberate的session.CreateQuery().executeUpdate(),它返回1個項目被刪除。但是,在數據庫中,沒有任何東西被刪除。在executeUpdate之後,我也做了沖洗。休眠刪除項目

任何人都可以給我一些關於這裏有什麼問題的建議嗎?

回答

2

您尚未提交封閉事務。你需要的東西,如:

tx = session.beginTransaction() 
session.createQuery().executeUpdate("...") 
tx.commit() 
+0

我可以問我爲什麼當我插入新的OBS到數據庫沒有使用事務,但依然很不錯非常感謝你:) – 2011-12-22 18:26:20

+0

有一些變化的多種原因?由數據庫供應商。最終歸結爲:您使用的數據庫不是事務性的,您的一個連接處於不同的隔離級別,允許看到未提交的更改,自動提交已啓用(所有事情都是在發生時提交的),或者存在*是一個交易,你只是不知道它。 – 2011-12-22 18:40:57