2013-12-15 2 views
1

2009 년 12 월에 JPA 2.0이 최종 승인되었습니다.maven이 jpa 2.0을 지원하지 않는 이유는 무엇입니까?

중앙 저장소는 1.0.2 및 3.0-public_review에 대한 pom 파일 선언을 제공합니다.

그렇다면 어떻게 JPA 2.x의 최신 버전을 사용할 수 있습니까?

+0

보통 JPA API와 함께 JPA 공급자/구현이 필요합니다. 예를 들어, hibernate는 둘 다 다운로드하기 위해 사용할 수있는 자체 저장소를 가지고있다. –

+0

http://mvnrepository.com/artifact/org.hibernate.javax.persistence/hibernate-jpa-2.0-api –

+1

다른 모든 표준 Java API와 달리 javax.persistence API (그룹)는 너무 게으른 "공식 "JPA 2.0 API 및 JPA 2.1 API jar이므로 JPA 구현에서 제공하는 (확인되지 ​​않은) javax.persistence에 의존해야합니다. https://java.net/jira/browse/JPA_SPEC-19 및 https://java.net/jira/browse/JPASPEC-60을 참조하십시오. – DataNucleus

답변

1

JPA 자체는 API 정의에 불과하므로 API를 구현 한 제공 업체가 필요합니다. 나는 최대 절전 모드를 사용하는 경향이 있지만 EclipseLink 나 OpenJPA와 같은 다른 것들이있다. 핵심 JPA 기능만을 고수한다면 나중에 쉽게 공급자를 바꿀 수 있습니다.

특정 EE 애플리케이션 서버를 사용하는 경우 제공자의 선택에 영향을 미칠 수 있습니다. JPA는 이제 EE 사양의 일부이지만 각 서버는 다른 공급자를 사용합니다. E.G. glassfish는 EclipseLink를 사용하는 반면 JBoss는 최대 절전 모드를 사용합니다.

이 점을 염두에두고 이것이 pom.xml에 내 절전 모드 종속성을 선언하는 방법입니다.

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>4.2.8.Final</version> 
</dependency> 

이렇게하면 유효성 검사와 같은 다른 종속성과 함께 JPA 2.0 API jar가 자동으로 가져옵니다.