[SPRING] Spring과 Hibernate로 작업 할 때 persistence.xml이 필요합니까?
SPRINGSpring과 Hibernate로 작업 할 때 persistence.xml이 필요합니까?
Spring JPA와 Hibernate로 프로젝트를 사용하고있다. persistence.xml에있는 대부분의 것들은 Spring applicationContext.xml 파일에서 지정 될 수있다.
persistence.xml은 이제 더 이상 필요하지 않습니까?
감사.
해결법
-
==============================
1.업데이트 : Spring 3.1은 persistence.xml이없는 JPA 설정을 지원합니다. Spring 3.1 M2 : Configuration Enhancements를 참조하십시오.
업데이트 : Spring 3.1은 persistence.xml이없는 JPA 설정을 지원합니다. Spring 3.1 M2 : Configuration Enhancements를 참조하십시오.
darioo의 답변은 실제 사용에는 좋지만 기술적으로는 올바르지 않습니다.
PersistenceProvider에는 두 개의 팩토리 메소드가 있습니다.
Spring의 LocalContainerEntityManagerFactoryBean은 애플리케이션 서버 환경을 에뮬레이트한다. 따라서 persistence.xml 자체를 구문 분석하고 해당 내용을 응용 프로그램 컨텍스트의 값과 병합 한 다음 두 번째 팩토리 메서드를 사용하여 지속성 공급자에게 전달합니다.
그러나 persistence.xml 데이터를 가져 오는 프로세스는 구성 가능합니다.
따라서, 실제로 PersistenceUnitManager 커스텀을 작성하여 persistence.xml을 사용하지 않고 Spring에서 JPA를 구성 할 수 있습니다. 단, 이러한 관리자는 기본적으로 사용할 수 없습니다.
-
==============================
2.Spring JPA를 사용하고 있어도 JPA를 통해 Hibernate를 사용할 때 persistence.xml이 필요합니다. Hibernate를 직접 사용한다면, persistence.xml은 필요 없다.
Spring JPA를 사용하고 있어도 JPA를 통해 Hibernate를 사용할 때 persistence.xml이 필요합니다. Hibernate를 직접 사용한다면, persistence.xml은 필요 없다.
-
==============================
3.JPA 스펙은 파일이 필요한 곳을 명시하지 않지만 EntityManagerFactory 및 EntityManager의 계약 정의와 실질적으로 전체 스펙을 통해 persistence.xml 파일을 반복해서 언급합니다.
JPA 스펙은 파일이 필요한 곳을 명시하지 않지만 EntityManagerFactory 및 EntityManager의 계약 정의와 실질적으로 전체 스펙을 통해 persistence.xml 파일을 반복해서 언급합니다.
최근에 persistence.xml을 전혀 사용하지 않고 Hibernate 3.6으로 JPA 2.0을 프로그래밍 방식으로 구성 할 수 있는지에 대한 질문을 다루어야했습니다.
최소한의 구성 만 포함하도록 파일을 구성 할 수 있지만 이것이 불가능하다고 결론을 내 렸습니다. 파일에 적어도 지속성 단위의 이름이 포함되어야한다고 결정했습니다. 나머지 정보는 프로그래밍 방식으로 매개 변수로 엔티티 관리자 팩토리에 제공 될 수 있습니다.
나는 봄을 사용한 적은 없기 때문에이 문제를 극복하기 위해 어떤 트릭을 사용하는지 모르겠습니다.
from https://stackoverflow.com/questions/4736301/is-persistence-xml-requied-when-working-with-spring-and-hibernate by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 봄 MVC 응용 프로그램에서 JSP로 속성 파일의 값을 표시하는 방법 (0) | 2018.12.30 |
---|---|
[SPRING] Spring JPA와 persistence.xml (0) | 2018.12.30 |
[SPRING] Junit을 사용하여 Spring 테스트 세션 범위 bean (0) | 2018.12.30 |
[SPRING] 개인 생성자가있는 Java Spring bean (0) | 2018.12.30 |
[SPRING] @Transactional을 말할 때마다 체크 된 모든 예외에서 롤백 (0) | 2018.12.30 |