Heim >Datenbank >MySQL-Tutorial >Warum löst Hibernate 5.0 die MappingException „Unknown Entity' aus und wie kann ich das Problem beheben?

Warum löst Hibernate 5.0 die MappingException „Unknown Entity' aus und wie kann ich das Problem beheben?

Linda Hamilton
Linda HamiltonOriginal
2024-12-14 11:10:20732Durchsuche

Why Does Hibernate 5.0 Throw

Hibernate MappingException: Unbekannte Entität in Hibernate 5

Bei der Integration von Hibernate 5.0 mit MySQL kann der Fehler „org.hibernate.MappingException“ auftreten : Unbekannte Entität.“ Dieses Problem tritt häufig in den Versionen 5.0.0 und 5.0.1 auf, jedoch nicht in Hibernate 4.3.9.

Diagnose

Das Problem ist auf eine Nichtübereinstimmung im Ruhezustand zurückzuführen 5 Konfigurationscode. Das folgende Codefragment aus Ihrer Klasse „HibernateMain.java“ ist problematisch:

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

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

SessionFactory sf = configuration.buildSessionFactory(sr);

In Hibernate 5 führt die Verwendung von „configuration.buildSessionFactory(sr)“ zu einem Verlust von Zuordnungsinformationen, die während „configuration.configure()“ erfasst wurden.

Lösung

Um dieses Problem zu beheben, verwenden Sie den folgenden Ansatz ohne ServiceRegistry:

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

Zusätzliche Ladeoptionen für Eigenschaften

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

Fazit

Vermeiden Sie die Verwendung der falschen Konfigurationsmethode, die im Hibernate 5-Tutorial 1.1.6 vorgestellt wird. Nutzen Sie die oben genannten Lösungen, um das Problem „Unbekannte Entität“ zu beheben und eine erfolgreiche Hibernate 5-Integration mit MySQL herzustellen.

Das obige ist der detaillierte Inhalt vonWarum löst Hibernate 5.0 die MappingException „Unknown Entity' aus und wie kann ich das Problem beheben?. 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