강의

멘토링

로드맵

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

haram1104님의 프로필 이미지
haram1104

작성한 질문수

스프링 데이터 JPA

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

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

작성

·

565

0

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

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

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

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

퀴즈

Spring Data 프로젝트 구조에 대한 설명 중 가장 올바른 것은 무엇일까요?

Spring Data는 Spring Data Commons와 Spring Data JPA와 무관한 독립 프로젝트입니다.

Spring Data Commons는 공통 기능을 제공하고 Spring Data JPA는 JPA 특정 기능을 추가합니다.

Spring Data Commons는 Spring Data JPA에 종속적인 하위 프로젝트입니다.

Spring Data JPA는 Spring Data Commons의 모든 기능을 포함하고 있습니다.

답변 1

0

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

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

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

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

haram1104님의 프로필 이미지
haram1104

작성한 질문수

질문하기