Heim >Datenbank >MySQL-Tutorial >Hibernate 5: Wie behebt man den Fehler „org.hibernate.MappingException: Unbekannte Entität'?

Hibernate 5: Wie behebt man den Fehler „org.hibernate.MappingException: Unbekannte Entität'?

Barbara Streisand
Barbara StreisandOriginal
2024-12-06 20:18:12760Durchsuche

Hibernate 5: How to Fix the

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn