본문 바로가기

개발중/troubleshooting

[Spring Data JPA] No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call 에러 해결

728x90
반응형
No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call; nested exception is javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call

 

@Transactional 어노테이션을 명시하지 않아서 발생하는 에러이다.

기본적으로 JPA는 transaction을 기반으로 작동하게 되어있다.

 

transaction 단위에 따라 1차캐시영역에 있는 객체들이 db에 flush되어 영속화되기 때문이다.

 

하지만 그러한 영속작업을 하는 persist() 메소드에 객체가 들어갔으나

가능한 transaction이 존재하지 않았기에 저런 에러를 낸것이다.

728x90
반응형