인프런 커뮤니티 질문&답변

오크롱님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

JPA와 DB 설정, 동작확인

어노테이션에 따른 로그 변화

21.05.17 23:19 작성

·

150

0

안녕하세요 강사님.

쿼리 로그찍는 부분에서 궁금한 점이 있습니다.

@Transactional만 둔 상태에서 테스트를 돌리면

create table 쿼리만 나오는데

@Rollback(false)까지 어노테이션을하고 테스트를 하면

insert 쿼리까지 나옵니다. 

제가 생각했을때 어노테이션 차이없이 테이블을 만들고 save까지 동일하게 작동하는것 같은데 어떤 차이가 있는건가요? 

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

2021. 05. 19. 20:51

안녕하세요. OQ the YOUNG님

일반적인 상황은 아니고, 테스트 케이스에서 @Transactional을 사용하면 마지막에 자동으로 롤백을 수행합니다.

JPA에서는 롤백이 되면 내부에서 플러시라는 것이 일어나지 않아서 데이터베이스에 SQL을 반영하지 않습니다.

플러시에 대한 자세한 내용은 JPA 기본편에서 설명드립니다^^

감사합니다.

오크롱님의 프로필 이미지
오크롱
질문자

2021. 05. 20. 10:38

플러시... 찾아보겠습니다. 감사합니다! 활용1편부터 듣고 기본편 볼 예정있었는데 ㅎ 얼른 끝내고 강사님 지식 상속받겠습니다!