2009-04-10 35 views

Trả lời

11

Nếu bạn đang phát triển hệ thống OSGi, tôi khuyên bạn nên tải xuống phiên bản "bundlefied" từ Springsource Enterprise Bundle Repository.

Nếu không ok của nó sử dụng một file jar thường chứa javax.persistence gói

+4

Schildmeijer đúng - URL hoàn chỉnh cho Java Persistence API 2.0.0 từ SpringSource là http://www.springsource.com/repository/app/bundle/version/detail?name=com.springsource.javax.persistence&version=2.0. 0 – Templar

4

hibernate.jar và hibernate-entitymanager.jar chỉ chứa các gói org.hibernate. *. Vì vậy, bạn nên lấy nó từ dự án Glassfish.

12

Bạn có thể sử dụng EJB3-persistence.jar đó là đi kèm với hibernate. Bình này chỉ bao gồm gói javax.persistence.

8

Trong Hibernate mới nhất và lớn nhất, tôi có thể giải quyết sự phụ thuộc bằng cách bao gồm hibernate-jpa-2.0-api-1.0.0.Final.jar trong thư mục lib/jpa. Tôi đã không tìm thấy bình đựng ejb-persistence trong lần tải xuống gần đây nhất.

13

Nếu bạn đang sử dụng maven, thêm dưới đây phụ thuộc nên làm việc

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

Tôi đang sử dụng intellij và nó nói với tôi rằng nó không thể tìm thấy javax.persistence. bất kỳ ý tưởng? – Goot

3

Đối với JPA 2.1 gói javax.persistence thể được tìm thấy ở đây:

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

Xem: hibernate-jpa-2.1-api on Maven Central Các mô hình dường như để thay đổi tên đồ tạo tác khi phiên bản JPA thay đổi. Nếu điều này tiếp tục các phiên bản mới có thể được dự kiến ​​sẽ đến trong Maven Trung ương ở đây: Hibernate JPA versions

Trên đây JPA 2.1 API có thể được sử dụng kết hợp với Hibernate 4.3.7, cụ thể:

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

Nói chung, tôi đồng ý với câu trả lời ở trên mà khuyên bạn nên thêm phụ thuộc maven, nhưng tôi thích giải pháp sau đây.

Thêm một sự phụ thuộc với các lớp API cho đầy đủ hồ sơ 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> 

Ngoài ra thêm sự phụ thuộc với nhà cung cấp JPA cụ thể như antonycc gợi ý:

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

Note <scope>provided</scope> trong phần phụ thuộc API: điều này có nghĩa rằng jar tương ứng sẽ không được xuất thành lib/ của phần tạo tác, nhưng sẽ được cung cấp bởi máy chủ ứng dụng. Đảm bảo máy chủ ứng dụng của bạn triển khai phiên bản JavaEE API được chỉ định.

Các vấn đề liên quan