J'utilise la dernière version de Spring framework 4.1.5 et Hibernate-Entity-Manager 4.3.8 avec Javax. Persistance-api 1.0.2 tous avec JPA 2.1. Cette spécification repose sur Java EE 7. J'ai remarqué que dans Resin 4.0.42, il utilise "javaee-16.jar". Le problème est que je reçois l'exception suivante:Comment classer Java EE 7 dans Resin 4.0.42 et ne pas utiliser la classe par défaut Javaee-16.jar chargée par défaut
Caused by: java.lang.NoSuchMethodError: javax.persistence.Table.indexes()
[Ljavax/persistence/Index;
at
org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions(EntityBinder.java:973)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:824)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3845)
Method javax.persistence.Table.indexes() only exists in Java EE 7
(Javax.Persistence-api 1.0.2) as a JPA 2.1 spec and NOT in Java EE 6 as a
JPA 2.0 spec.
Problème est mon code est basé sur JPA 2.1. Y at-il de toute façon que je peux classer
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>
même après que Resin a classloaded: javaee-16.jar en premier?
Salut, j'ai essayé, mais l'ambre de résine (la mise en œuvre de JPA 1.0 de résine) 'se plaint est une balise de premier niveau inattendue" dans persistence.xml. C'est l'espace de noms de JPA 2.1. Comment vous en êtes-vous débarrassé? (résine 4.0.43) –
smallufo
Utilisez des annotations pour JPA, cela devrait fonctionner. Ça marche pour moi. – logixplayer