2009-03-25 19 views
2

もし私が次のことをすれば、休止状態のロールバック

session.getTransaction()。ロールバック();

同じセッションオブジェクトに対してsave/update/deleteなどを呼び出すことは可能ですか? Hibernate Session/Transaction API、またはHibernateのリファレンスドキュメントでこれに対する答えを見つけることができませんでした。

セッションオブジェクトを閉じ、新しいセッションを開き、新しいトランザクションを開始することをお勧めしますか?

答えて

3

私はセッションを閉じて新しいセッションを開くと言っています。 Hibernateはセッションの乱用を許していることで知られていません。それは少しパフォーマンスを傷つけるかもしれませんが、おそらく道路のバグを防ぐでしょう。

Yuval = 8-)

0

データベースの観点からは可能かアドバイスできないか分かりませんが、アトミックコードを書くことは読みやすくするためにはるかに優れています。テンプレートメソッドの構造を再利用して、トランザクションの周りの配線を忘れることさえあります。