Hibernate 5: MappingException: Unknown Entity
Hibernate 5 では、org.hibernate.MappingException: Unknown entity エラーが発生することがあります。 MySQL と統合します。この問題は Hibernate のバージョン 5.0.0 および 5.0.1 に固有であり、後続のバージョンでは解決されています。
原因
このエラーは Hibernate 5 の変更に起因します。行動。以前のバージョンでは、ServiceRegistry を構築した後でも、構成情報は Configuration 内に保持されていました。ただし、Hibernate 5 では、configuration.buildSessionFactory(sr) が呼び出されるときにこの情報が失われます。
修复
1。標準設定ファイル:
標準の hibernate.cfg.xml および hibernate.properties ファイルを使用する場合は、セッション ファクトリを直接作成します:
<code class="java">SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();</code>
2.プロパティの読み込み:
プロパティが別のファイルに保存されている場合は、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>
3. Fluent Hibernate ユーティリティの使用:
このアプローチを使用した完全な例については、GitHub の fluent-hibernate-mysql プロジェクトを参照してください。
4.不適切な Hibernate 5 チュートリアルの推奨事項の回避:
Hibernate 5 チュートリアルで提供される誤ったコード スニペット:
<code class="java">return new Configuration().configure().buildSessionFactory( new StandardServiceRegistryBuilder().build() );</code>
は適切な構成を実行しないため、回避する必要があります。
以上がMySQL との統合時に Hibernate 5 で「MappingException: Unknown Entity」を修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。