본문 바로가기

코딩/Spring

JPA 저장을 했는데, 데이터가 없는 경우

JPA를 사용해서 사용자를 저장하려고 테스트 코드를 작성했습니다.

 

근데 JPA는 정상적으로 동작을 했지만, mysql workbench에서 쿼리문으로 직접 확인한 결과 데이터가 저장되어있지 않았습니다.

 

테스트 코드

 

 

JPA를 사용해서 사용자 정보를 저장하는 부분

 

 

다음과 같이 사용자를 저장하려고 했는데, 자꾸 성공적으로 저장이 되었지만 mysql에서 쿼리문으로 확인하면 데이터가 존재하지 않는 문제였다.

 

찾아보다가 혹시 테스트 코드에서 문제가 있었나 싶어서 찾아보니깐... 밑에 사이트에서 해답을 찾았다.

 

https://tecoble.techcourse.co.kr/post/2020-08-31-jpa-transaction-test/

 

JPA 사용시 테스트 코드에서 @Transactional 주의하기

서비스 레이어()에 대해 테스트를 한다면 보통 DB…

tecoble.techcourse.co.kr

 

 

test code에서 @Transactional 어노테이션을 사용하면 save한 뒤 자동으로 rollback을 한다는 것이다...;;;

 

 

 

위에 있던 @Transactional을 주석처리하니깐 내가 생각한대로 데이터가 나왔다 ㅠㅠ

 

좀 잘 알아보고 사용해야겠다;