@Transactional,@Commit
JPA에서 DB 연산(C,R,U,D)은 Transaction 단위 안에서 실행된다. 즉, 트랜잭션이 없는 연산은 실행될 수가 없다. JPA에서는 @Transactional라는 어노테이션을 제공하여 트랜잭션 기능을 제공한다. 실제 코드를 보면서 이해해 보자! 아래의 실제 테스트를 진행 중 그림 1과 같이 오류메시지가 나타났고 확인해 보니 "현재 스레드에 엔티티 매니저가 없다 그래서 persist 함수를 호출할 수가 없다"라는 에러 메시지가 뜬것을 확인할 수 있다. 앞에서 언급했듯이 JPA는 Transcation 단위 안에서 실행되므로 @Transactional 어노테이션을 입력해주면 실행이 된다! @Transactional 어노테이션을 추가 후 실행하였다.(그림 2 참고) 그런데... 실행은 잘 됐는데 D..
2022.03.30