Hibernate 5 : résolution de l'erreur "org.hibernate.MappingException : entité inconnue"
Lors de l'intégration d'Hibernate 5.0 avec MySQL, vous pouvez rencontrer l'erreur "org.hibernate.MappingException : entité inconnue." Ce problème survient spécifiquement avec les versions 5.0.0 et 5.0.1 d'Hibernate, alors qu'Hibernate 4.3.9 fonctionne sans ce problème.
Cause de l'erreur
Dans Hibernate 5 , un changement dans la façon dont Hibernate lit sa configuration a conduit à cette erreur. Plus précisément, les informations de configuration lues à partir de hibernate.cfg.xml ne sont pas correctement appliquées lors de l'utilisation de StandardServiceRegistryBuilder pour construire SessionFactory.
Solution
Pour résoudre cette erreur, il Voici quelques approches à considérer :
Utilisation de la méthode de configuration de base
Pour une solution plus simple, évitez d'utiliser StandardServiceRegistryBuilder et créez plutôt la fabrique de sessions directement à partir de l'objet Configuration. :
<code class="java">SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();</code>
Chargement des propriétés
Si vous avez des propriétés supplémentaires définies en dehors de hibernate.properties, vous pouvez les charger à l'aide de StandardServiceRegistryBuilder :
<code class="java">ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() .configure() .loadProperties("hibernate-h2.properties") .build(); SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);</code>
Utilisation de Fluent-Hibernate
Vous pouvez également utiliser la bibliothèque fluent-hibernate pour une approche plus pratique, comme démontré dans le projet GitHub « fluent-hibernate-mysql ».
Considérations supplémentaires
Notez que l'exemple du didacticiel Hibernate 5 dans la section 1.1.6 est incorrect. Il ne parvient pas à charger la configuration appropriée lors de la construction de SessionFactory, ce qui entraîne des problèmes de mappage.
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!