• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

안녕 하세요

20.01.24 14:17 작성 조회수 172

10

entitymanager는 thread에 safe하지 않는걸로 알고 있습니다

근데 강의에서 thread에 safe하다고 하셔서 확인해보니 safe하지 않네요.

spring container가 thread safe하게 관리해주는 것으로 알고 있습니다 맞나요?

답변 1

답변을 작성해보세요.

9

좋은 질문입니다. 김성겸님^^

엔티티매니저는 thread safe 할 수도 있고 안할 수도 있습니다.

순수하게 자바환경에서 직접 엔티티메니저를 사용하면 쓰레드 세이프 하지 않습니다.

그런데 스프링 컨테이너를 포함한 J2EE 컨테이너들은 JPA 표준 스펙에 맞추어서 주입받은 엔티티매니저가 쓰레드 세이프 하도록 되어 있습니다.

쉽게 이야기해서 성경님이 말씀하신 것 처럼 스프링 컨테이너가 쓰레드 세이프하게 관리해주는게 맞습니다.

조금 더 자세한 내용은 JPA 책 13.1 트랜잭션 범위의 영속성 컨텍스트를 참고해주세요^^

감사합니다.