NoSuchMethodError : javax.persistence.Table.indexes()[Ljavax/persistence/Index;
Problème :
Lors de la mise à niveau d'Hibernate 4.2.5 vers 4.3.0, une exception a été levée :
NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
Ce problème persiste avec les versions 4.2.6 à 4.2.8 d'Hibernate, mais pas avec la 4.2.5.
Solution :
Le problème survient en raison d'un conflit de dépendances entre Play Java JPA et Hibernate 4.3. Play Java JPA dépend de la spécification JPA 2.0, tandis qu'Hibernate 4.3 utilise la nouvelle spécification JPA 2.1.
Correction :
Modifiez le fichier build.sbt en ajoutant ce qui suit dependency :
libraryDependencies ++= Seq( javaJdbc, javaJpa.exclude("org.hibernate.javax.persistence", "hibernate-jpa-2.0-api"), "org.hibernate" % "hibernate-entitymanager" % "4.3.0.Final" )
Cette étape exclut la dépendance JPA 2.0 et garantit que seul JPA 2.1 est utilisé. Cette solution s'applique aux versions Play 2.2.x.
Remarque :
Le problème peut nécessiter des modifications différentes pour les versions antérieures de Play.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!