Hibernate 5: Behebung des Fehlers „org.hibernate.MappingException: Unbekannte Entität“
Einführung
Beim Bemühen, Hibernate 5.0 mit MySQL zu integrieren, stoßen Entwickler oft auf das verwirrende Fehlermeldung „org.hibernate.MappingException: Unbekannte Entität.“ Dieses Problem ist auf Diskrepanzen in der Konfiguration zwischen Hibernate 4.3.9 und 5.0.0 zurückzuführen.
Ursache
In Hibernate 5 ist die Methode „configuration.buildSessionFactory(sr)“ führt dazu, dass die Konfiguration Informationen über Entitätszuordnungen verliert, die über „configuration.configure()“ konfiguriert wurden. Folglich ist Hibernate nicht in der Lage, die persistenten Klassen zu erkennen.
Lösung
Um dieses Problem zu beheben, ändern Sie den Code, der für die Erstellung der Sitzungsfabrik verantwortlich ist:
// Incorrect approach (for Hibernate 5) SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(sr); // Correct approach SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Zusätzliche Optionen
1. Eigenschaften laden
Wenn die Eigenschaften an einem nicht standardmäßigen Speicherort gespeichert sind, verwenden Sie den StandardServiceRegistryBuilder, um sie zu laden:
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() .configure() .loadProperties("hibernate-<database>.properties") .build(); SessionFactory sessionFactory = new Configuration().buildSessionFactory(serviceRegistry);
2. Korrigieren des Hibernate 5-Tutorials
Das Hibernate 5-Tutorial enthält ein fehlerhaftes Beispiel in Abschnitt 1.1.6:
// Incorrect code from tutorial return new Configuration().configure().buildSessionFactory( new StandardServiceRegistryBuilder().build() );
Ersetzen Sie diesen falschen Code durch den richtigen Ansatz:
// Correct code return new Configuration().configure().buildSessionFactory();
Das obige ist der detaillierte Inhalt vonHibernate 5: Wie behebt man den Fehler „org.hibernate.MappingException: Unbekannte Entität'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!