ホームページ >データベース >mysql チュートリアル >Hibernate 5.0 が「Unknown Entity」MappingException をスローする理由とその修正方法は?
Hibernate MappingException: Hibernate 5 の不明なエンティティ
Hibernate 5.0 を MySQL と統合するときに、エラー「org.hibernate.MappingException」が発生する場合があります。 : 未知の存在。」この問題はバージョン 5.0.0 および 5.0.1 で発生しますが、Hibernate 4.3.9 では発生しません。
診断
この問題は、Hibernate の不一致が原因で発生します。 5 構成コード。 「HibernateMain.java」クラスの次のコード部分には問題があります:
Configuration configuration = new Configuration(); configuration.configure(); ServiceRegistry sr = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build(); SessionFactory sf = configuration.buildSessionFactory(sr);
Hibernate 5 では、configuration.buildSessionFactory(sr) を使用すると、configuration.configure() 中に取得されたマッピング情報が失われます。
解決策
これを解決するにはこの問題を解決するには、ServiceRegistry を使用せずに次のアプローチを採用します:
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
プロパティの追加読み込みオプション
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder(). configure().loadProperties("hibernate-h2.properties").build(); SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);
File propertiesPath = new File("some_path"); ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder(). configure().loadProperties(propertiesPath).build(); SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);
結論
間違った構成の使用を避けるHibernate 5 チュートリアル 1.1.6 で紹介されている方法。前述のソリューションを利用して「不明なエンティティ」問題を修正し、Hibernate 5 と MySQL の統合を成功させます。
以上がHibernate 5.0 が「Unknown Entity」MappingException をスローする理由とその修正方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。