Maison >base de données >tutoriel mysql >Pourquoi Hibernate 5.0 génère-t-il une exception MappingException « Entité inconnue » et comment puis-je y remédier ?
Hibernate MappingException : entité inconnue dans Hibernate 5
Lors de l'intégration d'Hibernate 5.0 avec MySQL, vous pouvez rencontrer l'erreur "org.hibernate.MappingException : Entité inconnue." Ce problème est répandu dans les versions 5.0.0 et 5.0.1, mais pas dans Hibernate 4.3.9.
Diagnostic
Le problème provient d'une incompatibilité dans Hibernate 5 codes de configuration. Le fragment de code suivant de votre classe "HibernateMain.java" pose problème :
Configuration configuration = new Configuration(); configuration.configure(); ServiceRegistry sr = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build(); SessionFactory sf = configuration.buildSessionFactory(sr);
Dans Hibernate 5, l'utilisation de configuration.buildSessionFactory(sr) entraîne une perte des informations de mappage acquises lors de configuration.configure().
Solution
Pour résoudre ce problème, utilisez l'approche suivante sans ServiceRegistry :
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Options de chargement supplémentaires pour les propriétés
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder(). configure().loadProperties("hibernate-h2.properties").build(); SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);
File propertiesPath = new File("some_path"); ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder(). configure().loadProperties(propertiesPath).build(); SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);
Conclusion
Évitez d'utiliser la méthode de configuration incorrecte présentée dans le tutoriel Hibernate 5 1.1.6. Utilisez les solutions susmentionnées pour corriger le problème « Entité inconnue » et établir une intégration réussie d'Hibernate 5 avec MySQL.
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!