Maison > base de données > tutoriel mysql > Hibernate 5 : Comment corriger l'erreur « org.hibernate.MappingException : entité inconnue » ?

Hibernate 5 : Comment corriger l'erreur « org.hibernate.MappingException : entité inconnue » ?

Barbara Streisand
Libérer: 2024-12-06 20:18:12
original
700 Les gens l'ont consulté

Hibernate 5: How to Fix the

Hibernate 5 : Résolution de l'erreur « org.hibernate.MappingException : entité inconnue »

Introduction

En s'efforçant d'intégrer Hibernate 5.0 à MySQL, les développeurs tombent souvent sur le problème déroutant message d'erreur "org.hibernate.MappingException : entité inconnue." Ce problème provient de divergences dans la configuration entre Hibernate 4.3.9 et 5.0.0.

Cause première

Dans Hibernate 5, la méthode configuration.buildSessionFactory(sr) fait perdre à la configuration des informations sur les mappages d'entités configurés via configuration.configure(). Par conséquent, Hibernate est incapable de reconnaître les classes persistantes.

Solution

Pour remédier à ce problème, modifiez le code responsable de la création de la fabrique de sessions :

// Incorrect approach (for Hibernate 5)
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(sr);

// Correct approach
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Copier après la connexion

Options supplémentaires

1. Chargement des propriétés

Si les propriétés sont stockées dans un emplacement autre que celui par défaut, utilisez StandardServiceRegistryBuilder pour les charger :

ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
    .configure()
    .loadProperties("hibernate-<database>.properties")
    .build();
SessionFactory sessionFactory = new Configuration().buildSessionFactory(serviceRegistry);
Copier après la connexion

2. Correction du didacticiel Hibernate 5

Le didacticiel Hibernate 5 contient un exemple erroné dans la section 1.1.6 :

// Incorrect code from tutorial
return new Configuration().configure().buildSessionFactory(
                new StandardServiceRegistryBuilder().build() );
Copier après la connexion

Remplacez ce code incorrect par la bonne approche :

// Correct code
return new Configuration().configure().buildSessionFactory();
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!

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
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