Maison > Java > javaDidacticiel > Comment réparer l'erreur « org.hibernate.MappingException : entité inconnue » dans Hibernate 5 avec MySQL ?

Comment réparer l'erreur « org.hibernate.MappingException : entité inconnue » dans Hibernate 5 avec MySQL ?

DDD
Libérer: 2024-11-02 15:47:29
original
597 Les gens l'ont consulté

How to Fix

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

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

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal