2011-12-22 10 views
0

HQLを使用してオブジェクトを削除しようとすると、hiberateのsession.CreateQuery().executeUpdate()を使用して1つのアイテムが削除されます。ただし、データベースでは、何も削除されていません。 executeUpdateの後、私はまたフラッシュしました。Hibernate delete item

ここで何が間違っているのか教えてください。

答えて

2

囲みトランザクションをコミットしていません。あなたのような何かが必要です?

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

私はDBに新しいOBSを挿入したとき、私はトランザクションを使用していないが、それはまだうまく機能する理由私が聞いてもをありがとうございました:) –

+0

異なる理由の多くがあります。データベースベンダー別。最終的には、これは次のようになります。使用していたデータベースがトランザクションではなく、接続の1つが別の分離レベルにあり、コミットされていない変更が表示され、自動コミットがオンになっていたあなたはそれを知りませんでした。 –