本稿は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);
}

 

オプション

//記載予定