Maison > base de données > tutoriel mysql > Hibernate 5 : Comment résoudre « org.hibernate.MappingException : entité inconnue » ?

Hibernate 5 : Comment résoudre « org.hibernate.MappingException : entité inconnue » ?

Patricia Arquette
Libérer: 2024-12-23 10:04:43
original
846 Les gens l'ont consulté

Hibernate 5: How to Solve

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

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

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

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