• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

EntityManager를 사용하는 방법

23.07.23 10:30 작성 조회수 252

0

https://www.inflearn.com/questions/152202/%EC%96%B4%EB%85%B8%ED%85%8C%EC%9D%B4%EC%85%98-%EA%B4%80%EB%A0%A8-%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4

위에 답변을 보면

@Autowired가 스프링 빈을 주입한다면, @PersistenceContext는 JPA 스펙에서 제공하는 기능인데, 영속성 컨텍스트를 주입하는 표준 애노테이션입니다.  라고 적혀있습니다.

(1) 그럼 @Autowired EntityManager 를 사용시 영속성 컨텍스트를 만들지 못하는 건가요??

근데 @Autowired로 받아도 em.persist(member); 가되는 거보면 아닌것 같다고 생각이 드는데...

답변의 의미를 잘 모르겠습니다.

 

(2) 구글링한 결과로는 둘의 차이는 쓰레드 간에 동시성문제를 해결하여 EntityManager를 공유하지 않는다로 보이는데 이것을 말씀하신 걸까요??

답변 1

답변을 작성해보세요.

0

David님의 프로필

David

2023.07.24

안녕하세요. 코딩먹는하마님, 공식 서포터즈 David입니다.

@Autowired는 스프링 프레임워크 내에서만 사용됩니다.

@PersistenceContext는 JPA 스펙에서 지원하는 애노테이션입니다. 따라서, 스프링 프레임워크 외 다른 곳에서도 JPA 스펙을 잘 구현했다면 해당 애노테이션을 사용하여 영속성 컨텍스트를 주입받을 수 있습니다.

감사합니다.