강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

haram1104님의 프로필 이미지
haram1104

작성한 질문수

스프링 데이터 JPA

스프링 데이터 JPA 3. JPA 쿼리 메소드

EntityManager 주입시 Annotation관련 질문드립니다.

작성

·

549

0

안녕하세요 강사님. 강의 잘 듣고있습니다!

강의를  보다가 문득 의문이 들어서 질문남깁니다.

EntityManager를 @Aurowired로 주입받는 것과 @PersistenceContext로 받았을 때 차이점이 무엇인가요? 

둘 다 의존성을 잘 받아오길래 차이점이 궁금합니다!

답변 1

0

백기선님의 프로필 이미지
백기선
지식공유자

안녕하세요. 좋은 질문이네요.

EntityManager를 직접 사용할 때는 @Autowired로 주입받으시면 안되고 @PersistenceContext를 사용해야 합니다. 둘다 의존성 주입을 해주긴 하지만 주입해주는 EntityManager의 scope이 다릅니다.

EntityManager를 관리하는 영속성 컨텍스트는 쓰레드 마다 달라지는데, 그래서 스프링이 @PersistenceContext 애노테이션을 지원해서 쓰레드 마다 각기 다른 EntityManager를 쓸 수 있게 해주는겁니다.

haram1104님의 프로필 이미지
haram1104

작성한 질문수

질문하기