Hibernate 5: Fehler „org.hibernate.MappingException: Unknown Entity“ wird behoben
Problem:
Beim Versuch, Hibernate 5.0 mit MySQL zu integrieren, ist der Fehler „org.hibernate.MappingException: Unbekannte Entität“ aufgetreten. Dieser Fehler tritt bei den Hibernate-Versionen 5.0.0 und 5.0.1 auf, jedoch nicht bei Hibernate 4.3.9.
Ursache:
Das Problem tritt aufgrund einer Änderung in auf So wird SessionFactory mit Hibernate 5 erstellt. Die Verwendung der Methode Configuration().buildSessionFactory(sr) wie in früheren Versionen von Hibernate funktioniert nicht mehr, da sie Zuordnungsinformationen verwirft.
Lösung:
Um diesen Fehler zu beheben, gibt es zwei Ansätze:
1. Vereinfachte Konfiguration:
Für Standardkonfigurationsdateien wie hibernate.cfg.xml und hibernate.properties können Sie SessionFactory erstellen, ohne ServiceRegistry zu verwenden:
<code class="java">SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();</code>
2. Verwenden von StandardServiceRegistryBuilder zum Laden von Eigenschaften:
Wenn Sie Eigenschaften in anderen Dateien als hibernate.properties haben, können Sie StandardServiceRegistryBuilder verwenden, um diese zu laden:
Eigenschaften als Ressource laden:
<code class="java">ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder(). configure().loadProperties("hibernate-h2.properties").build(); SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);</code>
Eigenschaften aus einem Dateisystempfad laden:
<code class="java">File propertiesPath = new File("some_path"); ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder(). configure().loadProperties(propertiesPath).build(); SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);</code>
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonHibernate 5: Warum erhalte ich den Fehler „org.hibernate.MappingException: Unknown Entity' und wie behebe ich ihn?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!