春の戦闘:トランザクションの注釈は、原因をロールバックしません。

春を使用するときに使用するトランザクションアノテーションはロールバックされていない、一般的にこれらは、次のような理由かもしれ。

  1. あなたのメソッドはパブリックではありません確認してください。

  2. あなたのタイプは、異常未チェック例外ではありません。
    私は、例外も行うにはどのようにロールバックするように、規定の例外タイプ上記の注釈が可能となるかどうかを確認します。
    @Transactional(rollbackFor = Exception.class)
    と同様のnorollbackFor、例外はロールバックされませんカスタムがあります。

  3. それはMyISAMのであれば、それはInnoDBのような使用エンジンのサポートサービス、にテーブルにmysqlの、注意を払うがある場合、トランザクショナルデータベースエンジンをサポートするために、トランザクションは動作しません。

  4. 注釈の構文解析を開きますか

<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
  1. あなたのパッケージに、以下のパッケージ次org.testスキャンされているかどうかを、この春スキャン
<context:component-scan base-package="org.test" ></context:component-scan>

これらは、考えて発生するアドオンを持っている可能性のある状況です。

公開された19元の記事 ウォン称賛67 ビュー20000 +

おすすめ

転載: blog.csdn.net/m1090760001/article/details/104583581