2009-04-10 9 views

Respuesta

11

Si está desarrollando un sistema OSGi, le recomendaría que descargue la versión "bundlefied" del Springsource Enterprise Bundle Repository.

Por lo demás es aceptable utilizar un frasco-archivo normal que contiene el paquete de javax.persistence

+4

Schildmeijer tiene razón: la URL completa para Java Persistence API 2.0.0 de SpringSource es http://www.springsource.com/repository/app/bundle/version/detail?name=com.springsource.javax.persistence&version=2.0. 0 – Templar

4

hibernate.jar y hibernate-entitymanager.jar contiene solo los paquetes org.hibernate. *. Entonces deberías tomarlo del proyecto Glassfish.

12

Puede utilizar el ejb3-persistence.jar que se incluye con hibernación. Este jar solo incluye el paquete javax.persistence.

8

En el último y más grande Hibernate, pude resolver la dependencia incluyendo hibernate-jpa-2.0-api-1.0.0.Final.jar dentro del directorio lib/jpa. No encontré el archivo ejb-persistence en la descarga más reciente.

13

Si está utilizando Maven, añadiendo a continuación la dependencia debe trabajar

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

Estoy usando intellij y me dice que no pudo encontrar javax.persistence. ¿algunas ideas? – Goot

3

Para JPA 2.1 javax.persistence el paquete se puede encontrar aquí:

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

Ver: hibernate-jpa-2.1-api on Maven Central El patrón parece ser para cambiar el nombre del artefacto a medida que cambia la versión de JPA. Si esto sigue así se puede esperar que las nuevas versiones de llegar a Maven central aquí: Hibernate JPA versions

Lo anterior JPA 2.1 API puede ser usado en conjunción con Hibernate 4.3.7, específicamente:

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

En general, estoy de acuerdo con las respuestas anteriores que recomiendan agregar la dependencia de maven, pero prefiero seguir la solución.

Añadir una dependencia con las clases de API para la plena perfil 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> 

También añadir la dependencia con especial proveedor JPA como antonycc sugirió:

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

Nota <scope>provided</scope> en la sección dependencia API: esto significa que el jar correspondiente no se exportará al artefacto lib/, sino que será proporcionado por el servidor de aplicaciones. Asegúrese de que su servidor de aplicaciones implemente la versión especificada de la API JavaEE.

Cuestiones relacionadas