Comment ajouter un fichier de mappage XML Hibernate (hbm.xml) par programme
Le fichier de mappage XML Hibernate contient la relation de mappage entre la classe Java et la table de base de données. Celui-ci est toujours nommé «xx.hbm.xml» et déclaré dans le fichier de configuration Hibernate «hibernate.cfg.xml».
Par exemple, le fichier de mappage (hbm.xml) est déclaré dans la balise «mapping»
false com.mysql.jdbc.Driver password jdbc:mysql://localhost:3306/example root org.hibernate.dialect.MySQLDialect true
Ajouter le fichier de mappage d'Hibernate (hbm.xml) par programme
Pour une raison quelconque, vous ne souhaitez pas inclure le fichier de mappage danshibernate.cfg.xml
. Hibernate fournit une méthode permettant au développeur d'ajouter un fichier de mappage par programme.
Modifiez simplement la classe par défaut HibernateSessionFactory
en passant votre chemin de fichier «hbm.xml» comme argument dans la méthodeaddResource()
:
SessionFactory sessionFactory = new Configuration() .addResource("com/example/common/Stock.hbm.xml") .buildSessionFactory();
HibernateUtil.java
Exemple complet deHibernateUtil.java
, chargez le fichier de mappage XML Hibernate «xx.hbm.xml» par programmation.
import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class HibernateUtil { private static final SessionFactory sessionFactory = buildSessionFactory(); private static SessionFactory buildSessionFactory() { try { SessionFactory sessionFactory = new Configuration() .configure("/com/example/persistence/hibernate.cfg.xml") .addResource("com/example/common/Stock.hbm.xml") .buildSessionFactory(); return sessionFactory; } catch (Throwable ex) { // Make sure you log the exception, as it might be swallowed System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { return sessionFactory; } public static void shutdown() { // Close caches and connection pools getSessionFactory().close(); } }
Terminé.