Rumah > Java > javaTutorial > Mengapa Menaik taraf kepada Hibernate 4.3.0.Final Menyebabkan NoSuchMethodError dalam javax.persistence.Table.indexes()?

Mengapa Menaik taraf kepada Hibernate 4.3.0.Final Menyebabkan NoSuchMethodError dalam javax.persistence.Table.indexes()?

Linda Hamilton
Lepaskan: 2024-11-28 17:20:11
asal
762 orang telah melayarinya

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

NoSuchMethodError dalam javax.persistence.Table.indexes()

Dalam aplikasi Rangka Kerja Play menggunakan Hibernate, menaik taraf kepada Hibernate 4.3.0.Final boleh menyebabkan a NoSuchMethodError pengecualian dalam javax.persistence.Table.indexes(). Inilah sebabnya perkara ini berlaku dan cara menyelesaikannya:

Punca:

Isu ini timbul akibat konflik antara versi berbeza spesifikasi JPA yang dimuatkan ke dalam laluan kelas. Main bergantung pada versi spesifik spesifikasi JPA, manakala Hibernate 4.3.0.Final memerlukan versi yang lebih baharu. Apabila kedua-dua versi hadir, konflik berlaku, yang membawa kepada ralat.

Penyelesaian:

Untuk menyelesaikan ralat ini, anda perlu mengecualikan spesifikasi JPA yang lebih lama daripada Play's classpath sambil menambah versi baharu yang diperlukan oleh Hibernate 4.3.0.Final.

Untuk Play 2.2.x, ubah suai fail build.sbt anda seperti berikut:

libraryDependencies ++= Seq(
  javaJdbc,
  javaJpa.exclude("org.hibernate.javax.persistence", "hibernate-jpa-2.0-api"),
  "org.hibernate" % "hibernate-entitymanager" % "4.3.0.Final"
)
Salin selepas log masuk

Untuk versi Play terdahulu, rujuk kepada dokumentasi khusus untuk versi anda.

Dengan mengecualikan spesifikasi JPA yang lebih lama, anda memastikan bahawa hanya versi yang lebih baharu diperlukan oleh Hibernate 4.3.0.Final digunakan, menyelesaikan konflik dan pengecualian NoSuchMethodError.

Atas ialah kandungan terperinci Mengapa Menaik taraf kepada Hibernate 4.3.0.Final Menyebabkan NoSuchMethodError dalam javax.persistence.Table.indexes()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan