Rumah >Java >javaTutorial >Mengapa EntityManager Saya Melemparkan Ralat 'Penyedia Kegigihan Tidak Ditemui'?

Mengapa EntityManager Saya Melemparkan Ralat 'Penyedia Kegigihan Tidak Ditemui'?

Susan Sarandon
Susan Sarandonasal
2024-12-15 10:47:11443semak imbas

Why is My EntityManager Throwing a

Persistence Provider Not Found for EntityManager

Apabila cuba mewujudkan sambungan ke pangkalan data melalui EntityManager dan menghadapi ralat "No Persistence provider untuk EntityManager bernama [EntityManager name]," ia menandakan bahawa fail persistence.xml ada dan dikonfigurasikan dengan betul, tetapi pustaka penyedia kegigihan yang sesuai tiada daripada laluan kelas.

Dalam kes khusus ini, menggunakan TopLink sebagai penyedia kegigihan, ralat disebabkan oleh ketiadaan pustaka "hibernate-entitymanager.jar" dalam Laluan Binaan Java. Untuk versi Hibernate yang lebih baharu, seperti Hibernate 5, "hibernate-core.jar" hendaklah digunakan sebaliknya.

Penyelesaian:

Untuk menyelesaikan isu ini, pastikan bahawa perpustakaan pembekal kegigihan yang sesuai ditambahkan pada laluan kelas aplikasi. Pustaka ini biasanya ditemui dalam direktori lib IDE atau pelayan aplikasi. Contohnya, dalam Eclipse:

  1. Klik kanan pada projek.
  2. Pilih "Properties."
  3. Navigasi ke "Java Build Path -> Libraries. "
  4. Klik pada "Tambah JAR Luaran" butang.
  5. Cari dan pilih fail "hibernate-entitymanager.jar" (atau "hibernate-core.jar").

Sebagai alternatif, perpustakaan boleh ditambahkan secara manual pada /lib direktori aplikasi.

Selepas menambah perpustakaan penyedia kegigihan pada laluan kelas, EntityManager sepatutnya dapat untuk mencari dan menggunakannya untuk mewujudkan sambungan ke pangkalan data dengan jayanya.

Atas ialah kandungan terperinci Mengapa EntityManager Saya Melemparkan Ralat 'Penyedia Kegigihan Tidak Ditemui'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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