Hibernate 5: Menyelesaikan "org.hibernate.MappingException: Unknown entity" Isu
The "org.hibernate.MappingException: Unknown entity" ralat yang biasa dihadapi apabila menyepadukan Hibernate 5 dengan sistem pangkalan data berpunca daripada isu konfigurasi. Ini berlaku khusus untuk Hibernate versi 5.0.0 dan 5.0.1.
Kecacatan Konfigurasi
Masalahnya terletak dalam proses penciptaan sessionFactory. Coretan kod berikut daripada kod sampel yang disediakan menggambarkan isu:
SessionFactory sf = configuration.buildSessionFactory(sr);
Apabila cuba membina kilang sesi menggunakan kaedah buildSessionFactory semasa menghantar dalam ServiceRegistry, Hibernate 5 kehilangan jejak maklumat pemetaan yang dimuatkan sebelum ini melalui konfigurasi kaedah.
Penyelesaian
Untuk membetulkan isu ini, pendekatan alternatif untuk mencipta kilang sesi boleh digunakan, bergantung pada konfigurasi yang digunakan.
Memuatkan Sifat
Untuk fail konfigurasi standard (hibernate.cfg.xml dan hibernate.properties), kilang sesi boleh dibuat tanpa menggunakan ServiceRegistry seperti yang dilihat di bawah:
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Sebagai alternatif, jika sifat disimpan dalam fail selain hibernate.properties, ia boleh dimuatkan menggunakan StandardServiceRegistryBuilder :
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() .configure() .loadProperties("hibernate-h2.properties") .build(); SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);
Begitu juga, sifat juga boleh dimuatkan dari laluan tertentu dalam fail sistem:
File propertiesPath = new File("some_path"); ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() .configure() .loadProperties(propertiesPath) .build(); SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);
Atas ialah kandungan terperinci Hibernate 5: Bagaimana untuk Menyelesaikan 'org.hibernate.MappingException: Entiti tidak diketahui'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!