Maison > Java > javaDidacticiel > Pourquoi la mise à niveau vers Hibernate 4.3.0.Final provoque-t-elle une NoSuchMethodError dans javax.persistence.Table.indexes() ?

Pourquoi la mise à niveau vers Hibernate 4.3.0.Final provoque-t-elle une NoSuchMethodError dans javax.persistence.Table.indexes() ?

Linda Hamilton
Libérer: 2024-11-28 17:20:11
original
775 Les gens l'ont consulté

Why Does Upgrading to Hibernate 4.3.0.Final Cause a NoSuchMethodError in javax.persistence.Table.indexes()?

NoSuchMethodError dans javax.persistence.Table.indexes()

Dans les applications Play Framework utilisant Hibernate, mise à niveau vers Hibernate 4.3.0.Final peut provoquer une exception NoSuchMethodError dans javax.persistence.Table.indexes(). Voici pourquoi cela se produit et comment le résoudre :

Cause :

Le problème survient en raison d'un conflit entre différentes versions des spécifications JPA chargées dans le chemin de classe. Play s'appuie sur une version spécifique de la spécification JPA, tandis qu'Hibernate 4.3.0.Final nécessite une version plus récente. Lorsque les deux versions sont présentes, un conflit se produit, entraînant l'erreur.

Résolution :

Pour résoudre cette erreur, vous devez exclure l'ancienne spécification JPA de Play. classpath tout en ajoutant la version la plus récente requise par Hibernate 4.3.0.Final.

Pour Play 2.2.x, modifiez votre fichier build.sbt comme suit :

libraryDependencies ++= Seq(
  javaJdbc,
  javaJpa.exclude("org.hibernate.javax.persistence", "hibernate-jpa-2.0-api"),
  "org.hibernate" % "hibernate-entitymanager" % "4.3.0.Final"
)
Copier après la connexion

Pour les versions antérieures de Play, reportez-vous à la documentation spécifique de votre version.

En excluant l'ancienne spécification JPA, vous vous assurez que seule la version la plus récente requise par Hibernate 4.3.0.Final est utilisé, résolvant le conflit et l'exception NoSuchMethodError.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal