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>
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>
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!