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
Libérer: 2024-12-28 08:20:10
original
618 Les gens l'ont consulté

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);
Copier après la connexion

Approche correcte pour Hibernate 5 :

  • Fichiers de configuration XML standard (hibernate.cfg.xml et hibernate.properties) :
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Copier après la connexion
  • 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);
Copier après la connexion
  • 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);
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal