DB 쿼리문
-
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)