Spring3とHibernate3.6を使用したWebアプリケーションの開発に取り組んでいます。@Transactional
アノテーションとコードの構造についていくつか質問があります。
-> @Transactional
(Springを使用したトランザクション管理)を使用する場合、@Transactional
-annotatedメソッドを呼び出すときにtry / catchで囲む必要がありますか?
たとえば、オブジェクトをロード、変更、および返すメソッドを取得し、それを別のクラスから呼び出す場合、呼び出しをtry / catchで囲む必要がありますか?何かがうまくいかない、オブジェクトが返されない、データベース接続が失敗するなどの可能性があります。わかりません。
これまでは、@Transactional
発生する可能性のあるすべての例外を処理し、エラーが発生したときにこのトランザクションのすべての操作をロールバックすると考えていました。しかし、それが発生した場合は、なんとかしてユーザーに通知する必要があります。try-blockでtransactional-methodを呼び出してロールバックすると、catchブロックがアクティブになりますか?そうすれば、ユーザーに「何かがうまくいかなかった」と言うことができます。そうしないと、ユーザーに通知されない可能性がありますか?
または、返されたオブジェクトがあるかどうかを確認するだけで十分ですか(if / else)、try / catchは必要ありませんか?私は新しいです、そして私は他が彼らのコードをどのように構造化するか聞きたいです。ありがとうございました :-)