Jpa를 사용하여 Test코드를 작성하고 실행하는 도중에 아래와같은 에러가 발생했습니다.

딱봐도 EntityManager의 persist를 호출할때 잘못된거 같습니다.
자세히 읽어보니 현재 스레드에 사용 가능한 transaction이 없다고 합니다.
알고보니 @Transactional 어노테이션을 빼먹어서 생긴 에러였습니다.
Jpa는 @Transaction 단위 기반으로 작동합니다.
transaction 단위에 따라 persist() 메소드를 사용해 영속성 컨텍스트에 영속화시키고 작업을 진행합니다.
persist() 메소드는 영속작업을 시작한다고 선언하는 것인데
객체가 들어갔으나 가능한 transaction이 존재하지 않았기에 저런 에러를 낸것입니다.
결론
@Transaction을 잊지 말자...
'Error' 카테고리의 다른 글
[Error] Auto Complete가 작동하지 않는 경우 (ajax, interceptor) (0) | 2024.01.03 |
---|---|
[Error] SourceTree와 gitlab SSH키로 연동하기 (0) | 2023.12.19 |
Jpa를 사용하여 Test코드를 작성하고 실행하는 도중에 아래와같은 에러가 발생했습니다.

딱봐도 EntityManager의 persist를 호출할때 잘못된거 같습니다.
자세히 읽어보니 현재 스레드에 사용 가능한 transaction이 없다고 합니다.
알고보니 @Transactional 어노테이션을 빼먹어서 생긴 에러였습니다.
Jpa는 @Transaction 단위 기반으로 작동합니다.
transaction 단위에 따라 persist() 메소드를 사용해 영속성 컨텍스트에 영속화시키고 작업을 진행합니다.
persist() 메소드는 영속작업을 시작한다고 선언하는 것인데
객체가 들어갔으나 가능한 transaction이 존재하지 않았기에 저런 에러를 낸것입니다.
결론
@Transaction을 잊지 말자...
'Error' 카테고리의 다른 글
[Error] Auto Complete가 작동하지 않는 경우 (ajax, interceptor) (0) | 2024.01.03 |
---|---|
[Error] SourceTree와 gitlab SSH키로 연동하기 (0) | 2023.12.19 |