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
Freigeben: 2024-12-23 10:04:43
Original
820 Leute haben es durchsucht

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);
Nach dem Login kopieren

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();
Nach dem Login kopieren

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);
Nach dem Login kopieren

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);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage