検索

ホームページ  >  に質問  >  本文

java - Springトランザクションがロールバックされない

1. Spring トランザクションはロールバックされません。すべてのオンライン方法を試しましたが、役に立ちませんでした。
2. 構成は次のとおりです:

1.spring.xml:

リーリー

2.springmvc.xml

リーリー

3.spring-hibernate.xml

リーリー

4.コントローラー

リーリー

5.サービス

リーリー

6.baseDao

リーリー

ディレクトリ構造:

助けてください。一日かけて調整してきました。とても感謝しています。

为情所困为情所困2781日前578

全員に返信(2)返信します

  • 伊谢尔伦

    伊谢尔伦2017-05-17 10:09:12

    これを見ると、コントローラーではなくサービスインターフェイスでトランザクションを管理しています
    スローする例外はコントローラー内にあり、もちろんトランザクションはロールバックされません

    それをサービス実装クラスに保存しようとして、保存が成功したかどうかを確認するために例外をスローします

    追記: mysql には 2 つのストレージ エンジン (一般的に使用されます) があり、1 つは InnoDB で、もう 1 つは MyISAM です。前者は行レベルのロック、トランザクション、外部キーをサポートしますが、後者はサポートしません

    返事
    0
  • 大家讲道理

    大家讲道理2017-05-17 10:09:12

    上で言ったことは正しいです。スプリングトランザクションはサービス層で動作し、サービスメソッドが例外をスローすると、トランザクションはロールバックされます。したがって、正しいテスト方法は、サービス層メソッドで例外をスローすることです。

    返事
    0
  • キャンセル返事