Heim >Datenbank >MySQL-Tutorial >Ruhezustand 5: Wie löst man „org.hibernate.MappingException: Unbekannte Entität'?

Ruhezustand 5: Wie löst man „org.hibernate.MappingException: Unbekannte Entität'?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-23 10:04:43847Durchsuche

Hibernate 5: How to Solve

Hibernate 5: Behebung des Problems „org.hibernate.MappingException: Unbekannte Entität“

Die „org.hibernate.MappingException: Unbekannte Entität“ Der Fehler, der häufig bei der Integration von Hibernate 5 in Datenbanksysteme auftritt, ist auf ein Konfigurationsproblem zurückzuführen. Dies tritt insbesondere bei den Hibernate-Versionen 5.0.0 und 5.0.1 auf.

Konfigurationsfehler

Das Problem liegt im Erstellungsprozess der sessionFactory. Der folgende Codeausschnitt aus dem bereitgestellten Beispielcode veranschaulicht das Problem:

SessionFactory sf = configuration.buildSessionFactory(sr);

Beim Versuch, die Sitzungsfabrik mit der Methode buildSessionFactory zu erstellen und gleichzeitig die ServiceRegistry zu übergeben, verliert Hibernate 5 den Überblick über die zuvor über geladenen Zuordnungsinformationen die Konfigurationsmethode.

Lösung

Zur Behebung Um dieses Problem zu lösen, können abhängig von der verwendeten Konfiguration alternative Ansätze zum Erstellen der Sitzungsfabrik verwendet werden.

Eigenschaften laden

Für Standardkonfigurationsdateien (hibernate.cfg. xml und hibernate.properties) kann die Sitzungsfabrik erstellt werden, ohne die ServiceRegistry wie gezeigt zu verwenden unten:

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

Wenn Eigenschaften alternativ in einer anderen Datei als hibernate.properties gespeichert sind, können sie mit dem StandardServiceRegistryBuilder geladen werden:

ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
    .configure()
    .loadProperties("hibernate-h2.properties")
    .build();
SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);

In ähnlicher Weise können auch Eigenschaften geladen werden von einem bestimmten Pfad im Dateisystem:

File propertiesPath = new File("some_path");
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
    .configure()
    .loadProperties(propertiesPath)
    .build();
SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);

Das obige ist der detaillierte Inhalt vonRuhezustand 5: Wie löst man „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