首頁 > Java > java教程 > 如何使用 MySQL 修復 Hibernate 5 中的「org.hibernate.MappingException:未知實體」錯誤?

如何使用 MySQL 修復 Hibernate 5 中的「org.hibernate.MappingException:未知實體」錯誤?

DDD
發布: 2024-11-02 15:47:29
原創
597 人瀏覽過

How to Fix

Hibernate 5:解決「org.hibernate.MappingException:未知實體」錯誤

在將HiberMynate 5.0 與您可能整合時,會遇到錯誤「org.hibernate.MappingException:未知實體。」這個問題特別出現在Hibernate 版本5.0.0 和5.0.1 中,而Hibernate 4.3.9 執行時不會出現此問題。

錯誤原因

在 Hibernate 5 中,Hibernate 讀取其配置的方式發生變化導致了此錯誤。具體來說,使用 StandardServiceRegistryBuilder 建構 SessionFactory 時,無法正確應用從 hibernate.cfg.xml 讀取的設定資訊。

解決方案

要解決此錯誤,有幾種需要考慮的方法:

使用基本設定方法

對於更簡單的解決方案,請避免使用StandardServiceRegistryBuilder,而是直接從Configuration 對象創建會話工廠:

<code class="java">SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();</code>
登入後複製

加載屬性

如果您在hibernate.properties 之外定義了其他屬性,則可以使用StandardServiceRegistryBuilder 加載它們:

<code class="java">ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
    .configure()
    .loadProperties("hibernate-h2.properties")
    .build();
SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);</code>
登入後複製

使用Fluent-Hibernate

您還可以利用Fluent-hibernate 函式庫獲得更方便的方法,如GitHub 專案「fluent-hibernate-mysql」所示。

其他注意事項

請注意,第 1.1.6 節中的 Hibernate 5 教學範例是不正確的。建置 SessionFactory 時無法載入正確的配置,導致映射問題。

以上是如何使用 MySQL 修復 Hibernate 5 中的「org.hibernate.MappingException:未知實體」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板