Maison >base de données >tutoriel mysql >Hibernate 5 : Comment résoudre « org.hibernate.MappingException : entité inconnue » ?
Hibernate 5 : Résolution du problème « org.hibernate.MappingException : entité inconnue »
L'exception « org.hibernate.MappingException : entité inconnue » L'erreur couramment rencontrée lors de l'intégration d'Hibernate 5 avec des systèmes de base de données provient d'un problème de configuration. Cela se produit spécifiquement pour les versions Hibernate 5.0.0 et 5.0.1.
Défaut de configuration
Le problème réside dans le processus de création de sessionFactory. L'extrait de code suivant de l'exemple de code fourni illustre le problème :
SessionFactory sf = configuration.buildSessionFactory(sr);
Lors de la tentative de création de la fabrique de sessions à l'aide de la méthode buildSessionFactory lors de la transmission du ServiceRegistry, Hibernate 5 perd la trace des informations de mappage précédemment chargées via la méthode configure.
Solution
Pour rectifier ce problème, des approches alternatives pour créer la fabrique de sessions peuvent être utilisées, en fonction de la configuration utilisée.
Chargement des propriétés
Pour les fichiers de configuration standard (hibernate.cfg. xml et hibernate.properties), la fabrique de sessions peut être créée sans utiliser ServiceRegistry comme indiqué ci-dessous :
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Alternativement, si les propriétés sont stockées dans un fichier autre que hibernate.properties, elles peuvent être chargées à l'aide de StandardServiceRegistryBuilder :
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() .configure() .loadProperties("hibernate-h2.properties") .build(); SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);
De même, les propriétés peuvent également être chargées à partir d'un chemin spécifique dans le système de fichiers :
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!