개발/IT 기타
JPA - No EntityManager with actual transaction available for current thread
얼굴값하는사람
2024. 2. 23. 00:12
반응형
JPA 사용 중에 발생 될 수 있는 예외 메시지 입니다.
Entity에 대한 등록, 수정, 삭제하기 위헤서는 트랜젝션 등록이 필요합니다.
에외 메시지
org.springframework.dao.InvalidDataAccessApiUsageException: No EntityManager with actual transaction available for current thread - cannot reliably process 'remove' call
at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:400)
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:234)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
해결 방법
@Transactional 어노테이션을 메소드 상단에 추가합니다.
@Transactional()
// 트랜젝션 매니저가 여러개라면 아래와 같이 추가해야 합니다.
// or @Transactional("somethingTransactionManager")
public void save() {
doSomething();
}
참고자료
https://docs.spring.io/spring-framework/reference/data-access/orm.html
읽어주셔서 감사합니다.
반응형