Maison >base de données >tutoriel mysql >Comment résoudre « org.hibernate.MappingException : entité inconnue » dans Hibernate 5 ?

Comment résoudre « org.hibernate.MappingException : entité inconnue » dans Hibernate 5 ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-28 08:20:10567parcourir

How to Resolve

org.hibernate.MappingException : Entité inconnue dans Hibernate 5

Problème : Une exception se produit avec le message " org.hibernate.MappingException : entité inconnue » lors de la tentative d'intégration d'Hibernate 5.0 avec MySQL.

Cause : Ce problème est rencontré spécifiquement avec les versions Hibernate 5.0.0 et 5.0.1 mais pas avec Hibernate 4.3.9. L'erreur provient d'une différence dans la façon dont Hibernate 5 gère la configuration par rapport aux versions précédentes.

Solution : Pour résoudre ce problème, ajustez le code responsable de la création de SessionFactory :

// Incorrect approach for Hibernate 5
Configuration configuration = new Configuration();
configuration.configure();

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

SessionFactory sf = configuration.buildSessionFactory(sr);

Approche correcte pour Hibernate 5 :

  • Fichiers de configuration XML standard (hibernate.cfg.xml et hibernate.properties) :
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
  • Chargement des propriétés à partir d'un fichier non standard fichier :
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().loadProperties("hibernate-h2.properties").build();
SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);
  • Chargement des propriétés à partir du chemin du fichier :
File propertiesPath = new File("some_path");
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().loadProperties(propertiesPath).build();
SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn