Rumah > Java > javaTutorial > Bagaimana untuk Membetulkan Ralat \'org.hibernate.MappingException: Entiti tidak diketahui\' dalam Hibernate 5 dengan MySQL?

Bagaimana untuk Membetulkan Ralat \'org.hibernate.MappingException: Entiti tidak diketahui\' dalam Hibernate 5 dengan MySQL?

DDD
Lepaskan: 2024-11-02 15:47:29
asal
604 orang telah melayarinya

How to Fix

Hibernate 5: Menyelesaikan Ralat "org.hibernate.MappingException: Unknown entity"

Apabila menyepadukan Hibernate 5.0 dengan MySQL, anda mungkin menghadapi ralat "org.hibernate.MappingException: Entiti tidak diketahui." Isu ini timbul secara khusus dengan versi Hibernate 5.0.0 dan 5.0.1, manakala Hibernate 4.3.9 beroperasi tanpa masalah ini.

Punca Ralat

Dalam Hibernate 5 , perubahan dalam cara Hibernate membaca konfigurasinya membawa kepada ralat ini. Khususnya, maklumat konfigurasi yang dibaca daripada hibernate.cfg.xml tidak digunakan dengan betul apabila menggunakan StandardServiceRegistryBuilder untuk membina SessionFactory.

Penyelesaian

Untuk menyelesaikan ralat ini, terdapat adalah beberapa pendekatan yang perlu dipertimbangkan:

Menggunakan Kaedah Konfigurasi Asas

Untuk penyelesaian yang lebih mudah, elakkan menggunakan StandardServiceRegistryBuilder dan sebaliknya buat kilang sesi terus daripada objek Konfigurasi :

<code class="java">SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();</code>
Salin selepas log masuk

Memuatkan Sifat

Jika anda mempunyai sifat tambahan yang ditentukan di luar hibernate.properties, anda boleh memuatkannya menggunakan StandardServiceRegistryBuilder:

<code class="java">ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
    .configure()
    .loadProperties("hibernate-h2.properties")
    .build();
SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);</code>
Salin selepas log masuk

Menggunakan Fluent-Hibernate

Anda juga boleh menggunakan pustaka fluent-hibernate untuk pendekatan yang lebih mudah, seperti yang ditunjukkan dalam projek GitHub "fluent-hibernate-mysql."

Pertimbangan Tambahan

Perhatikan bahawa contoh tutorial Hibernate 5 dalam Bahagian 1.1.6 adalah tidak betul. Ia gagal memuatkan konfigurasi yang betul semasa membina SessionFactory, yang membawa kepada isu pemetaan.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'org.hibernate.MappingException: Entiti tidak diketahui\' dalam Hibernate 5 dengan MySQL?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan