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