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
Lepaskan: 2024-12-14 11:10:20
asal
792 orang telah melayarinya

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

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

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

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!

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