Rumah >pangkalan data >tutorial mysql >Mengapa Hibernate 5.0 Membuang 'Entiti Tidak Diketahui' MappingException, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Hibernate 5.0 Membuang 'Entiti Tidak Diketahui' MappingException, dan Bagaimana Saya Boleh Membetulkannya?

Linda Hamilton
Linda Hamiltonasal
2024-12-14 11:10:20804semak imbas

Why Does Hibernate 5.0 Throw

Hibernate MappingException: Entiti Tidak Diketahui dalam Hibernate 5

Apabila menyepadukan Hibernate 5.0 dengan MySQL, anda mungkin menghadapi ralat "org.hibernate.MappingException : Entiti tidak diketahui." Isu ini lazim dalam versi 5.0.0 dan 5.0.1, tetapi tidak dalam Hibernate 4.3.9.

Diagnosis

Isu ini berpunca daripada ketidakpadanan dalam Hibernate 5 kod konfigurasi. Serpihan kod berikut daripada kelas "HibernateMain.java" anda bermasalah:

Configuration configuration = new Configuration();
configuration.configure();

ServiceRegistry sr = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();

SessionFactory sf = configuration.buildSessionFactory(sr);

Dalam Hibernate 5, menggunakan configuration.buildSessionFactory(sr) membawa kepada kehilangan maklumat pemetaan yang diperoleh semasa configuration.configure().

Penyelesaian

Untuk menyelesaikan isu ini, gunakan pendekatan berikut tanpa ServiceRegistry:

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

Pilihan Pemuatan Tambahan untuk Hartanah

  • Memuatkan Hartanah sebagai Sumber:
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().
    configure().loadProperties("hibernate-h2.properties").build();
SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);  
  • Memuatkan Sifat daripada Laluan Sistem Fail:
File propertiesPath = new File("some_path");
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().
    configure().loadProperties(propertiesPath).build();
SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);

Kesimpulan

Elakkan menggunakan kaedah konfigurasi yang salah yang dibentangkan dalam tutorial Hibernate 5 1.1.6 . Gunakan penyelesaian yang dinyatakan di atas untuk membetulkan isu "Entiti tidak diketahui" dan mewujudkan penyepaduan Hibernate 5 yang berjaya dengan MySQL.

Atas ialah kandungan terperinci Mengapa Hibernate 5.0 Membuang 'Entiti Tidak Diketahui' MappingException, dan Bagaimana Saya Boleh Membetulkannya?. 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