Файл отображения 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/”