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!