Рубрики
Без рубрики

Как добавить файл отображения XML в режиме гибернации (hbm.xml ) программно

– Как добавить файл отображения XML в режиме гибернации (hbm.xml) программно

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