-
JPA @Transactional과 @RollbackJPA 2022. 1. 4. 18:30
스프링 @Transactional의 특징과 @Rollback 사용
스프링에서 제공하는 @Transactional은 기본적으로 커밋을 하지 않고 데이터를 롤백을 시킨다.
그렇게 되면 반복적인 테스트할 때 유용하다.
하지만 insert나 update 등의 쿼리문을 보기 위해선
데이터가 DB에 접근을 해야되는데 JPA 특성상 커밋을 하지 않으면 DB에 쿼리가 날라가지 않는다.
따라서, @Transactional을 사용하고 있을 때, DB 쿼리 문을 확인하고 싶으면 @Rollback(false)를
사용해주면 된다.
(단, yml에 org.hibernate.type: trace을 선언하면 insert 문이 보이지 않는다.)@Rollback(value = false)
'JPA' 카테고리의 다른 글
save (0) 2023.01.30 JPA flush()와 clear() (0) 2021.12.27 JPA 변경 감지와 병합(merge) (0) 2021.12.22 JPA를 이용한 동적 쿼리 선언 (0) 2021.12.20