개발환경
IDE : intelliJ
FrameWork : springboot 3.2.2
Launguage java 17
DB : h2
문제상황
Junit5을 통해 단위 테스트를 진행하다가 Insert / update 관련해서 로그가 찍히지 않는 현상이 발생했다. 테스트 편의성을 위해 메모리 DB 를 사용하고 있었기 때문에, 실제로 DB 에 들어간것을 확인하기도 힘들어서 Rollback 설정도 해보고 .. 삽질을 했는데 결과적으로는 @Transactional 을 선언한것이 문제였다.
해결방안
@Transactional 을 쓰면 롤백이 발생하는데 , jpa 특성상 롤백이 되면 nsert/update 상태를 확인할 수없다! 바로 flush 가 발생하지 않기 때문이다. ( flush 관련 내용은 여기로 )