• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

쿼리

22.07.22 14:09 작성 조회수 361

1

궁금한게 19분19초쯤 insert랑 update쿼리 나오는데

order.setUsername("정상"); 이 코드는 insert쿼리에 그리고

order.setPayStatus("완료"); 이 코드는 update쿼리에 쓰이는 건가요

답변 1

답변을 작성해보세요.

1

OMG님의 프로필

OMG

2022.07.22

안녕하세요. alrnr3521님, 공식 서포터즈 OMG입니다.

"정상"의 경우 예외가 발생하지 않아(if-else 비교문에서 예외가 발생(throw new ~)하는 로직을 타지 않아 롤백 되지 않고 커밋이 되어 insert 쿼리가 발생한 것이고

 

"완료"도 마찬가지로 트랜잭션에서 엔티티의 값의 변경이 발생할 경우 Update쿼리가 발생한 것입니다.

 

본 강의에서의 핵심은 예외가 발생하지 않았을 때 롤백되지 않고 정상적으로 JPA의 동작들이 실행된 것으로 이해하시면 될 것 같습니다.

 

19분 뒤 테스트에서 정상과 완료가 아닌 경우에서 어떠한 쿼리가 발생하였는지 확인해보시면 좋을 것 같아요.

 

감사합니다.