[JPA] SpringBoot에서 EntityManager 사용하기
김영한님 강의를 들어봤는데 나랑 환경이 다르다.
강의에는 persistence.xml을 사용하시고 거기에 부여한 이름으로 EntityManagerFactory를 사용하시는데
나는 applicaion.yml을 사용하기 때문에 이름을 부여할 수가 없다.
applicaion.yml과 persistence.xml 동시 사용 → 되기는 한다만 설정이 중복된다. 이렇게 할리가 없다.
저는 어떻게 EntityManager를 사용할 수 있나요..
해결
@PersistenceContext를 사용하면 EntityManger를 사용할 수 있다고 한다.
Spring 프레임워크에서는 애플리케이션 초기화 시점에 EntityManager를 빈으로 등록하기 때문에, @PersistenceContext를 사용하면 스프링 컨테이너에 등록된 빈을 찾아 EntityManger를 사용할 수 있게 된다.
EntityManagerFactory는? @PersistenceUnit 으로 사용가능하다.
참고
https://drynod.github.io/jpa/2020/11/07/jpa.html
스프링 부트에서의 EntityManagerFactory, EntityManager 생성
부트를 사용하지 않을 때는 META-INF 내부의 persistence.xml 파일의 unit-name과 persistenceUnitName을 서로 매칭 시켜주면 되지만 부트는 persistence.xml 파일 자체가 없습니다. 자동으로 설정해주기 때문이죠.
drynod.github.io
https://way-be-developer.tistory.com/241
Spring(Boot) 에서 JPA EntityManager 를 얻어오는 방법 - Java
한줄정리 @PersistenceContext private EntityManager entityManager; @PersistenceContext 어노테이션이 스프링 컨테이너에 등록된 빈을 찾아 주입 해줍니다. EntityManager 사용 Java 에서 EntityManager는 다음..
way-be-developer.tistory.com