본문 바로가기
개발/IT 기타

JPA - No EntityManager with actual transaction available for current thread

by 얼굴값하는사람 2024. 2. 23.
반응형

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

https://stackoverflow.com/questions/32269192/spring-no-entitymanager-with-actual-transaction-available-for-current-thread

 

읽어주셔서 감사합니다.

반응형