XML-файл конфигурации гибернации ” hibernate.cfg.xml
“всегда помещается в корневой каталог вашего проекта, вне любого пакета. Если вы поместите этот файл конфигурации в другой каталог, вы можете столкнуться со следующей ошибкой:
Initial SessionFactory creation failed.org.hibernate.HibernateException: /hibernate.cfg.xml not found Exception in thread "main" java.lang.ExceptionInInitializerError at com.mkyong.persistence.HibernateUtil.buildSessionFactory(HibernateUtil.java:25) at com.mkyong.persistence.HibernateUtil.(HibernateUtil.java:8) at com.mkyong.common.App.main(App.java:11) Caused by: org.hibernate.HibernateException: /hibernate.cfg.xml not found at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:147) at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1405) at org.hibernate.cfg.Configuration.configure(Configuration.java:1427) at org.hibernate.cfg.Configuration.configure(Configuration.java:1414) at com.mkyong.persistence.HibernateUtil.buildSessionFactory(HibernateUtil.java:13) ... 2 more
Чтобы попросить Спящий режим поискать ваш ” hibernate.cfg.xml
“файл в другом каталоге, вы можете изменить класс SessionFactory
гибернации по умолчанию, передав свой” hibernate.cfg.xml
“путь к файлу в качестве аргумента в методе configure() :
SessionFactory sessionFactory = new Configuration() .configure("/com/mkyong/persistence/hibernate.cfg.xml") .buildSessionFactory(); return sessionFactory;
Чтобы попросить Спящий режим поискать ваш “|| hibernate.cfg.xml || “файл в другом каталоге, вы можете изменить класс ||SessionFactory || гибернации по умолчанию, передав свой”|| hibernate.cfg.xml || “путь к файлу в качестве аргумента в методе ||configure()||:
Полный пример в HibernateUtil.java
, чтобы загрузить ” hibernate.cfg.xml
“из каталога ” /com/mkyong/настойчивость/ “.
import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class HibernateUtil { private static final SessionFactory sessionFactory = buildSessionFactory(); private static SessionFactory buildSessionFactory() { try { // load from different directory SessionFactory sessionFactory = new Configuration().configure( "/com/mkyong/persistence/hibernate.cfg.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-load-hibernate-cfg-xml-from-different-directory/”