복붙노트

[SPRING] Spring과 Hibernate로 작업 할 때 persistence.xml이 필요합니까?

SPRING

Spring과 Hibernate로 작업 할 때 persistence.xml이 필요합니까?

Spring JPA와 Hibernate로 프로젝트를 사용하고있다. persistence.xml에있는 대부분의 것들은 Spring applicationContext.xml 파일에서 지정 될 수있다.

persistence.xml은 이제 더 이상 필요하지 않습니까?

감사.

해결법

  1. ==============================

    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. ==============================

    2.Spring JPA를 사용하고 있어도 JPA를 통해 Hibernate를 사용할 때 persistence.xml이 필요합니다. Hibernate를 직접 사용한다면, persistence.xml은 필요 없다.

    Spring JPA를 사용하고 있어도 JPA를 통해 Hibernate를 사용할 때 persistence.xml이 필요합니다. Hibernate를 직접 사용한다면, persistence.xml은 필요 없다.

  3. ==============================

    3.JPA 스펙은 파일이 필요한 곳을 명시하지 않지만 EntityManagerFactory 및 EntityManager의 계약 정의와 실질적으로 전체 스펙을 통해 persistence.xml 파일을 반복해서 언급합니다.

    JPA 스펙은 파일이 필요한 곳을 명시하지 않지만 EntityManagerFactory 및 EntityManager의 계약 정의와 실질적으로 전체 스펙을 통해 persistence.xml 파일을 반복해서 언급합니다.

    최근에 persistence.xml을 전혀 사용하지 않고 Hibernate 3.6으로 JPA 2.0을 프로그래밍 방식으로 구성 할 수 있는지에 대한 질문을 다루어야했습니다.

    최소한의 구성 만 포함하도록 파일을 구성 할 수 있지만 이것이 불가능하다고 결론을 내 렸습니다. 파일에 적어도 지속성 단위의 이름이 포함되어야한다고 결정했습니다. 나머지 정보는 프로그래밍 방식으로 매개 변수로 엔티티 관리자 팩토리에 제공 될 수 있습니다.

    나는 봄을 사용한 적은 없기 때문에이 문제를 극복하기 위해 어떤 트릭을 사용하는지 모르겠습니다.

  4. from https://stackoverflow.com/questions/4736301/is-persistence-xml-requied-when-working-with-spring-and-hibernate by cc-by-sa and MIT license