Tech/데이터 접근 기술

트랜잭션 매니저 선택

kimjingyu 2023. 3. 7. 23:10
728x90

JPA, 스프링 데이터 JPA, Querydsl -> JpaTransactionManager

JdbcTemplate, MyBatis -> DataSourceTransactionManager


JpaTransactionManager

  • DataSourceTransactionManager 가 제공하는 기능을 대부분 제공한다.
  • JPA라는 기술도 결국 내부에서는 DataSource와 JDBC Connection 을 사용하기 때문이다.
  • 결과적으로 JpaTransactionManager를 하나만 스프링 빈에 등록하면, JPA, JdbcTemplate, MyBatis 모두를 하나의 트랜잭션으로 묶어서 사용할 수 있다.
  • JPA의 플러시 타이밍
    • JPA 호출이 끝난 시점에 JPA가 제공하는 플러시라는 기능을 사용해서 JPA의 변경 내역을 데이터베이스에 반영해준다.
728x90