Файл отображения XML в режиме гибернации содержит связь отображения между классом Java и таблицей базы данных. Это всегда называется “xx.hbm.xml “и объявлен в файле конфигурации гибернации”hibernate.cfg.xml “.
Например, файл сопоставления (hbm.xml ) объявляется в теге ” сопоставление “
false com.mysql.jdbc.Driver password jdbc:mysql://localhost:3306/mkyong root org.hibernate.dialect.MySQLDialect true
Добавить файл отображения гибернации (hbm.xml) программно
По каким-либо причинам вы не хотите включать файл сопоставления в hibernate.cfg.xml
. Hibernate предоставляет разработчику метод программного добавления файла сопоставления.
Просто измените класс Hibernate по умолчанию SessionFactory
, передав свой ” hbm.xml “путь к файлу в качестве аргумента в методе addResource()
:
SessionFactory sessionFactory = new Configuration() .addResource("com/mkyong/common/Stock.hbm.xml") .buildSessionFactory();
Просто измените класс Hibernate по умолчанию ||SessionFactory||, передав свой “|| hbm.xml || “путь к файлу в качестве аргумента в методе ||addResource()||:
Полный пример HibernateUtil.java
, загрузите файл отображения XML в режиме гибернации”xx.hbm.xml “программно.
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/mkyong/persistence/hibernate.cfg.xml") .addResource("com/mkyong/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(); } }
Сделано.
Оригинал: “https://mkyong.com/hibernate/how-to-add-hibernate-xml-mapping-file-hbm-xml-programmatically/”