Hibernate 5: 「org.hibernate.MappingException: Unknown Entity」エラーが発生する理由とその修正方法

Barbara Streisand
リリース: 2024-10-28 16:21:02
オリジナル
153 人が閲覧しました

  Hibernate 5: Why am I Getting the

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 チュートリアルには、SessionFactory を作成するための間違ったアプローチが含まれています。これは、Hibernate を適切に構成しないメソッド new Configuration().configure().buildSessionFactory(new StandardServiceRegistryBuilder().build()) を示しています。
  • この問題は、Hibernate バージョン 5.0.0 および 5.0.1 に影響します。 。 Hibernate 5.1 以降の場合、元の構成メソッド Configuration().buildSessionFactory(sr) は期待どおりに機能します。

以上がHibernate 5: 「org.hibernate.MappingException: Unknown Entity」エラーが発生する理由とその修正方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!