Comment utiliser TomEE avec Hibernate
J'ai créé très simple application avec le contexte de persistance (hibernate en tant que fournisseur) pour lire la valeur de la base de données. J'utilise Eclipse avec Maven.
Tout d'abord, je reçois
Caused by: org.apache.openejb.OpenEJBException: java.lang.ClassCastException: org.hibernate.ejb.HibernatePersistence cannot be cast to javax.persistence.spi.PersistenceProvider:
et conformément à ce sujet
http://openejb.979440.n4.nabble.com/problem-with-hibernate-persistence-provider-td980429.html
J'exclus hibernate jpa-2.0-api. Maintenant, mes dépendances look
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901.jdbc4</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.1.3.Final</version>
<exclusions>
<exclusion>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
</exclusion>
</exclusions>
</dependency>
Maintenant, je ne sais pas pourquoi...
Caused by: java.lang.ClassNotFoundException: org.hibernate.transaction.TransactionManagerLookup
Mais TransactionManagerLookup est en veille prolongée-core.
S'il vous plaît, quelqu'un peut-il me dire, comment devriez regarder pom.xml pour utiliser la mise en veille prolongée dans TomEE?
expliquer le titre svp
À l'aide de TomEE, j'essaie de l'exécuter, application simple avec mise en veille prolongée en tant que fournisseur jpa. Maintenant, je ne sais pas qui avec des dépendances doit être inclure et exclure. Bibliothèques fournies par TomEE faire quelques conflits avec les lib de maven, c'est pourquoi j'ai d'exclure certaines libs.
Pouvez-vous développez le stacktrace sur le TransactionManagerLookup' exception?
J'ai collé toute la console pastebin.com/MR1JDe8m
J'ai exactement le même problème et je suis vraiment en attente pour la solution !
À l'aide de TomEE, j'essaie de l'exécuter, application simple avec mise en veille prolongée en tant que fournisseur jpa. Maintenant, je ne sais pas qui avec des dépendances doit être inclure et exclure. Bibliothèques fournies par TomEE faire quelques conflits avec les lib de maven, c'est pourquoi j'ai d'exclure certaines libs.
Pouvez-vous développez le stacktrace sur le TransactionManagerLookup' exception?
J'ai collé toute la console pastebin.com/MR1JDe8m
J'ai exactement le même problème et je suis vraiment en attente pour la solution !
OriginalL'auteur LancerX | 2012-06-01
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
Ajouter:
<tomee-home>/lib/antlr-2.7.7.jar
<tomee-home>/lib/dom4j-1.6.1.jar
<tomee-home>/lib/ehcache-core-2.5.1.jar
<tomee-home>/lib/ehcache-terracotta-2.5.1.jar
<tomee-home>/lib/hibernate-commons-annotations-4.0.1.Final.jar
<tomee-home>/lib/hibernate-core-4.1.4.Final.jar
<tomee-home>/lib/hibernate-ehcache-4.1.4.Final.jar
<tomee-home>/lib/hibernate-entitymanager-4.1.4.Final.jar
<tomee-home>/lib/hibernate-validator-4.3.0.Final.jar
<tomee-home>/lib/jboss-logging-3.1.0.GA.jar
<tomee-home>/lib/terracotta-toolkit-1.4-runtime-4.1.0.jar
La ehcache pots peut être facultatif, mais je n'ai pas essayé sans eux.
Supprimer (facultatif):
<tomee-home>/lib/asm-3.2.jar
<tomee-home>/lib/bval-core-0.4.jar
<tomee-home>/lib/bval-jsr303-0.4.jar
<tomee-home>/lib/commons-lang-2.6.jar
<tomee-home>/lib/openjpa-2.2.0.jar
<tomee-home>/lib/serp-1.13.1.jar
Hey, Axel. Mettre le fournisseur JPA dans la GUERRE devrait fonctionner
OriginalL'auteur David Blevins
1. Copie de la nécessaire mise en veille prolongée .les bocaux à
<tomee-home>/lib
Selon la documentation ( http://tomee.apache.org/tomee-and-hibernate.html ), les suivantes sont suffisantes et, en fait, ils ont travaillé pour moi:
Tous ces
.jars
sont contenues dans l'ORM Hibernate 4.2.x télécharger ( http://hibernate.org/orm/ ), sauf pour les Hibernate Validator, qui est un téléchargement séparé ( http://hibernate.org/validator/ ).2. Modifier votre pom.xml
À l'aide de la
javaee-api
artefact maven avec une portée deprovided
vous pouvez maintenant utiliser la spécification JPA dans votre projet. Toutefois, si vous avez été en utilisant certaines des caractéristiques spécifiques à Hibernate, des classes ou des annotations, vous pouvez toujours vous référer à Hiberner dans votrepom.xml
pour correspondre à ces dépendances:3. Définir votre connexion de base de données
Modifier
<tomee-home>/conf/tomee.xml
:Vous pouvez également mettre la
<Resource>...</Resource>
définition dansWEB-INF/resources.xml
et de l'expédier à votre demande:4. Source de données JTA
Maintenant que vous avez dit à TomEE comment établir une connexion, de définir une source de données JTA dans
/src/main/java/META-INF/persistence.xml
:5. Commencez à utiliser JPA
Obtenir un
EntityManager
dans un bean CDI ou EJB comme ceci:Notes Finales
Hibernate versions 4.3+
Je suis de l'utilisation d'Hibernate 4.2.21 (JPA 2.0, Java EE 6) avec TomEE 1.7.2. Tout TomEE 1.7.x, 1.6.x et 1.5.x fonctionne. Cependant, vous ne pouvez pas utiliser Hibernate 4.3+ (JPA 2.1 /Java EE 7), comme TomEE 1.7.x et ci-dessous uniquement le support de Java EE 6. Si vous voulez vraiment utiliser Java EE 7 fonctions avec TomEE, ce blog pourrait être utile: http://rmannibucau.wordpress.com/2013/07/19/little-tip-to-help-you-to-test-javaee-7-in-tomee-with-tomee-maven-plugin/
TomEE 1.5.x
TomEE 1.5.x comprend déjà un
javassist-<version>.jar
, de sorte que vous n'avez pas à copier.tomee-maven-plugin
à l'aide deconfiguration/libs/lib
(regarder les pom.xml)OriginalL'auteur Jack
oui juste de laisser tomber les hibernate-jpa-2.1-api-1.0.0.Final.jar dans le TomEE dossier lib a fonctionné pour moi.
OriginalL'auteur Abdul Ahad