Rumah > pangkalan data > tutorial mysql > Hibernate 5: Bagaimana untuk Menyelesaikan 'org.hibernate.MappingException: Entiti tidak diketahui'?

Hibernate 5: Bagaimana untuk Menyelesaikan 'org.hibernate.MappingException: Entiti tidak diketahui'?

Patricia Arquette
Lepaskan: 2024-12-23 10:04:43
asal
846 orang telah melayarinya

Hibernate 5: How to Solve

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);
Salin selepas log masuk

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();
Salin selepas log masuk

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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!

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