この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:1
ページ更新者:guest
更新日時:2019-04-08 10:24:44

タイトル: @Transactional
SEOタイトル: 【Spring】@Transactionalアノテーションとは

この記事の要点
  • @Transactional はメソッド / クラスに付与するトランザクション境界アノテーション
  • 基本: 例外で自動ロールバック(デフォルトは RuntimeException 系のみ)
  • rollbackFor = Exception.class でチェック例外も対象にできる
  • readOnly = true読み取り専用最適化を有効化

 

本稿はSpringFrameworkの@Transactionalについて説明します。

 

@Transactionalとは

@TransactionalはDBを更新する際のトランザクションを管理するアノテーション。

クラスもしくはメソッド単位で付与することができる。

クラスとメソッドの両方に付与した場合はメソッドのアノテーションのオプションが優先される。

以下、JpaRepositoryでメソッド単位に@Transactionalを使用した例。

@Repository
public interface TestRepository extends JpaRepository<TestEntity, String>{
    
    
@Transactional
    @Modifying
    @Query("UPDATE TestEntity te SET te.colA = 1 WHERE te.id = :id")
    Integer updateTest(@Param("id")String id);
}

 

オプション

//記載予定