[JPA] No EntityManager with actual transaction available for current thread - cannot reliably process 'flush' call

2024. 9. 16. 21:35·JPA

에러가 발생한 이유

EntityManager 는 트랜잭션 안에서만 동작한다.

EntityManager 가 메서드 내에서 동작할 때 현재 트랜잭션이 없기 때문에 발생한다.

해결하려면 트랜잭션 내에서 실행되도록 보장해야 한다.

해결법

실행하려는 메서드(또는 클래스)에 @Transactional 애너테이션을 붙인다.

코드 예시

@Transactional // 트랜잭션 내에서 동작하도록 보장
@Test
void example() {
	// ...
}

 

읽어주셔서 감사합니다.

'JPA' 카테고리의 다른 글

JPA Entity에서 Set 사용 시 equals, hashCode 구현과 해시 충돌 해결기  (2) 2025.08.18
[JPA] cascade = CascadeType.REMOVE, orphanRemoval = true 두 옵션을 명시적으로 사용하는 이유  (1) 2024.01.28
'JPA' 카테고리의 다른 글
  • JPA Entity에서 Set 사용 시 equals, hashCode 구현과 해시 충돌 해결기
  • [JPA] cascade = CascadeType.REMOVE, orphanRemoval = true 두 옵션을 명시적으로 사용하는 이유
옐리yelly
옐리yelly
  • 옐리yelly
    개발 갤러리
    옐리yelly
  • 전체
    오늘
    어제
    • 모든 글 보기 (85)
      • Project (22)
      • Java (4)
      • Spring (8)
      • Kubernetes (6)
      • Docker (2)
      • JPA (3)
      • Querydsl (2)
      • MySQL (9)
      • ElasticSearch (7)
      • DevOps (4)
      • Message Broker (3)
      • Git & GitHub (2)
      • Svelte (1)
      • Python (8)
        • Python Distilled (4)
        • Anaconda (1)
        • Django (0)
        • pandas (3)
      • Algorithm (1)
      • Computer Science (0)
      • 내 생각 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프로젝트
    커넥션 풀
    포텐데이
    OOP
    리팩토링
    svelte
    pymysql
    k8s
    데드락
    nks
    비사이드
    Message Broker
    blue-green 배포
    gitops
    pandas
    MySQL
    argocd
    Spring
    JPA
    devops
    mybatis
    예약 시스템
    querydsl
    elasticsearch
    ncloud
    성능 테스트
    Python
    docker
    RabbitMQ
    Project
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
옐리yelly
[JPA] No EntityManager with actual transaction available for current thread - cannot reliably process 'flush' call
상단으로

티스토리툴바