2009-04-10 41 views

回答

11

如果您正在開發OSGi系統,我建議您從Springsource Enterprise Bundle Repository下載「捆綁」版本。

否則其確定使用含有javax.persistence

+4

Schildmeijer是正確的 - 來自SpringSource的Java Persistence API 2.0.0的完整URL是http://www.springsource.com/repository/app/bundle/version/detail?name=com.springsource.javax.persistence&version=2.0。 0 – Templar 2010-06-25 05:02:01

4

hibernate.jar和hibernate-entitymanager.jar只包含org.hibernate。*包。所以你應該從Glassfish項目中拿走它。

12

可以使用EJB3-persistence.jar一個與休眠捆綁一個普通的jar文件。該jar只包含javax.persistence包。

8

在最新最好的Hibernate中,我能夠通過在lib/jpa目錄中包含hibernate-jpa-2.0-api-1.0.0.Final.jar來解決依賴關係。我沒有在最近的下載中找到ejb-persistence jar。

13

如果您正在使用Maven,添加以下的依賴應該工作

<dependency> 
    <groupId>javax.persistence</groupId> 
    <artifactId>persistence-api</artifactId> 
    <version>1.0</version> 
</dependency> 
+1

我使用intellij,它告訴我它找不到javax.persistence。有任何想法嗎? – Goot 2014-03-01 20:00:21

3

對於JPA 2.1 javax.persistence包可以在這裏找到:

<dependency> 
    <groupId>org.hibernate.javax.persistence</groupId> 
    <artifactId>hibernate-jpa-2.1-api</artifactId> 
    <version>1.0.0.Final</version> 
</dependency> 

參見:hibernate-jpa-2.1-api on Maven Central 的模式似乎要在JPA版本更改時更改人造名稱。如果這種情況持續下去的新版本,可以預計在Maven的中央到達這裏:Hibernate JPA versions

以上JPA 2.0 API可以結合使用Hibernate 4.3.7,具體使用:

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

在一般情況下,我同意與上面的答案,建議添加Maven的依賴,但我更喜歡下面的解決方案。

添加與API類的依賴完全的JavaEE簡介:

<properties> 
    <javaee-api.version>7.0</javaee-api.version> 
    <hibernate-entitymanager.version>5.1.3.Final</hibernate-entitymanager.version> 
</properties> 

<depencies> 
    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-api</artifactId> 
     <version>${javaee-api.version}</version> 
     <scope>provided</scope> 
    </dependency> 
</dependencies> 

另外補充特別JPA提供商像antonycc依賴建議:

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>${hibernate-entitymanager.version}</version> 
</dependency> 

注意<scope>provided</scope>在API的依賴部分:這意味着,相應的jar不會被導出到工件的lib/中,而是由應用服務器提供。確保您的應用程序服務器實現指定版本的JavaEE API。

相關問題