ホームページ > 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: Unknownentity」エラーの解決

Hibernate 5.0 を MySQL と統合するときに、次のような問題が発生する可能性があります。エラー「org.hibernate.MappingException: 不明なエンティティ。」この問題は、特に Hibernate バージョン 5.0.0 および 5.0.1 で発生しますが、Hibernate 4.3.9 はこの問題なく動作します。

エラーの原因

Hibernate 5 、Hibernate が設定を読み取る方法の変更により、このエラーが発生しました。具体的には、StandardServiceRegistryBuilder を使用して SessionFactory を構築するときに、hibernate.cfg.xml から読み取られた構成情報が適切に適用されません。

解決策

このエラーを解決するには、次の方法があります。

基本構成メソッドの使用

より単純な解決策の場合は、StandardServiceRegistryBuilder の使用を避け、代わりに構成オブジェクトからセッション ファクトリを直接作成します。 :

<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 の使用

GitHub プロジェクト「fluent-hibernate-mysql」で実証されているように、より便利なアプローチとして Fluent-Hibernate ライブラリを利用することもできます。

追加の考慮事項

セクション 1.1.6 の Hibernate 5 チュートリアルの例は間違っていることに注意してください。 SessionFactory の構築時に適切な構成のロードに失敗し、マッピングの問題が発生します。

以上がMySQL を使用した Hibernate 5 での「org.hibernate.MappingException: 不明なエンティティ」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート