ホームページ >Java >&#&チュートリアル >Hibernate 5: 「org.hibernate.MappingException: Unknown Entity」エラーが発生する理由とその修正方法
Hibernate 5: 「org.hibernate.MappingException: Unknown Entity」エラーの解決
問題:
Hibernate 5.0 を MySQL と統合しようとしているときに、「org.hibernate.MappingException: Unknownentity」エラーが発生しました。このエラーは Hibernate バージョン 5.0.0 および 5.0.1 では発生しますが、Hibernate 4.3.9 では発生しません。
原因:
この問題は、 SessionFactory が Hibernate 5 で作成される方法。以前のバージョンの Hibernate のように Configuration().buildSessionFactory(sr) メソッドを使用しても、マッピング情報が破棄されるため機能しなくなりました。
解決策:
このエラーを解決するには、次の 2 つの方法があります。
1.簡素化された構成:
hibernate.cfg.xml や hibernate.properties などの標準構成ファイルの場合、ServiceRegistry を使用せずに SessionFactory を作成できます:
<code class="java">SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();</code>
2。 StandardServiceRegistryBuilder を使用したプロパティのロード:
hibernate.properties 以外のファイルにプロパティがある場合は、StandardServiceRegistryBuilder を使用してそれらをロードできます:
リソースとしてのプロパティのロード:
<code class="java">ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder(). configure().loadProperties("hibernate-h2.properties").build(); SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);</code>
ファイル システム パスからのプロパティのロード:
<code class="java">File propertiesPath = new File("some_path"); ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder(). configure().loadProperties(propertiesPath).build(); SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);</code>
追加メモ:
以上がHibernate 5: 「org.hibernate.MappingException: Unknown Entity」エラーが発生する理由とその修正方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。