Heim > Java > javaLernprogramm > Hauptteil

Warum erhalte ich bei der Hibernate 5.0-Integration mit MySQL den Fehler „org.hibernate.MappingException: Unbekannte Entität'?

DDD
Freigeben: 2024-11-01 21:13:02
Original
496 Leute haben es durchsucht

Why am I getting

Hibernate 5: Begegnung mit „org.hibernate.MappingException: Unbekannte Entität“ in der Hibernate-MySQL-Integration

Beim Versuch, Hibernate 5.0 zu integrieren Wenn Benutzer eine MySQL-Datenbank verwenden, wird möglicherweise die Fehlermeldung „org.hibernate.MappingException: Unbekannte Entität“ angezeigt. Dieses Problem betrifft hauptsächlich die Hibernate-Versionen 5.0.0 und 5.0.1, während frühere Versionen wie 4.3.9 ordnungsgemäß funktionieren.

Um dieses Problem zu beheben, ist es wichtig, die in Hibernate 5 eingeführten Änderungen zu verstehen. In Versionen 4 und früher verließ sich Hibernate stark auf StandardServiceRegistryBuilder. In Hibernate 5 wurde jedoch der Konfigurationsprozess geändert.

Falsche Konfigurationspraxis:

Der folgende Code funktioniert in Hibernate 4.3.5, schlägt jedoch in Hibernate fehl 5 veranschaulicht den falschen Konfigurationsansatz:

Configuration configuration = new Configuration();
configuration.configure();

ServiceRegistry sr = new StandardServiceRegistryBuilder().applySettings(
    configuration.getProperties()).build();

SessionFactory sf = configuration.buildSessionFactory(sr);
Nach dem Login kopieren

In Hibernate 5 führt diese Methode dazu, dass Informationen über Entitätszuordnungen während der Konfiguration verloren gehen.buildSessionFactory(sr).

Lösung:

Es gibt zwei mögliche Lösungen für dieses Problem:

1. Standardkonfigurationsdateien (hibernate.cfg.xml und hibernate.properties):

Für Standardkonfigurationsdateien verwenden Sie diesen einfachen Ansatz zum Erstellen der Sitzungsfabrik:

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Nach dem Login kopieren

2. Eigenschaften aus externen Quellen laden:

Wenn Sie Eigenschaften an einem anderen Ort als hibernate.properties gespeichert haben, gehen Sie folgendermaßen vor:

  • Eigenschaften als Ressource laden :
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().
    configure().loadProperties("hibernate-h2.properties").build();
SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);  
Nach dem Login kopieren
  • Eigenschaften aus einem bestimmten Pfad im Dateisystem laden:
File propertiesPath = new File("some_path");
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().
    configure().loadProperties(propertiesPath).build();
SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);
Nach dem Login kopieren

Es ist wichtig Bitte beachten Sie, dass das im Hibernate 5-Tutorial (1.1.6. Startup und Helfer) bereitgestellte Beispiel falsch ist und keine ordnungsgemäße Konfiguration durchführt. Die richtige Methode ist oben angegeben.

Durch die Implementierung dieser Lösungen können Benutzer Hibernate 5 effektiv in MySQL integrieren und den Fehler „Unbekannte Entität“ beheben.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich bei der Hibernate 5.0-Integration mit MySQL den Fehler „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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!