2010-08-19 3 views

Répondre

14

Avec un conteneur Java EE 5, vous obtenez JPA 1.0 (spécifié dans le JSR 220 - Enterprise JavaBeans, Version 3.0).

Avec un conteneur Java EE 6, vous obtenez JPA 2.0 (spécifié dans le JSR 317: Java Persistence 2.0 qui est maintenant dédié).

Et si vous fournissez votre propre implémentation JPA, eh bien, cela dépend de la mise en œuvre et la version que vous fournissez :)

Voici quelques implémentations JPA 2.0 et leurs versions respectives:

  • EclipseLink 2.0+
  • Hibernate EntityManager 3.5+
  • OpenJPA 2.0+
  • DataNucleus 2.1.0+
+0

Comment puis-je trouver cette spécification autonome dans JEE6? – Nav

+0

@Navid Je ne suis pas sûr que ce soit ce que vous cherchez, mais j'ai ajouté des liens vers les spécifications. –

+0

Les fournisseurs de persistance implémentent-ils JPA? si oui, donc je ne peux pas utiliser juste JPA parce que c'est juste API, n'est-ce pas? et je dois utiliser l'une des implémentations de JPA 2.0? – Nav

0

Pas JPA et EJB ne sont pas liés du tout, ils sont totalement indépendants. JPA n'est pas construit dans les EJB. Le javaee-api 6 qui est le conteneur JAVA EE 6 vous donne le code pour EJB 3 et JPA 2. +. Pour implémenter EJB3, vous pouvez utiliser weblogic ou JBoss ou n'importe quel conteneur d'application. Pour implémenter JPA, vous pouvez utiliser hibernate, OpenJPA, etc.

<dependency> 
    <groupId>javax</groupId> 
    <artifactId>javaee-api</artifactId> 
    <version>6.0</version> 
</dependency>