Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ConfigurationException: Could not locate cfg.xml resource [hibernate.cfg.xml] in project root folder

I have the hibernate.cfg.xml file in the project root folder.

If I run an application containing:

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

it crashes in the configure() method with the following message:

Could not locate cfg.xml resource [hibernate.cfg.xml]

Output:

Jun 17, 2016 12:04:59 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.2.0.Final}
Jun 17, 2016 12:04:59 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000205: Loaded properties from resource hibernate.properties: {hibernate.connection.driver_class=org.h2.Driver, hibernate.service.allow_crawling=false, hibernate.max_fetch_depth=5, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.format_sql=true, hibernate.generate_statistics=true, hibernate.connection.username=sa, hibernate.connection.url=jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;LOCK_TIMEOUT=10000, hibernate.bytecode.use_reflection_optimizer=false, hibernate.connection.password=****, hibernate.connection.pool_size=5}
Jun 17, 2016 12:04:59 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
org.hibernate.internal.util.config.ConfigurationException: Could not locate cfg.xml resource [hibernate.cfg.xml]
    at org.hibernate.boot.cfgxml.internal.ConfigLoader.loadConfigXmlResource(ConfigLoader.java:53)
    at org.hibernate.boot.registry.StandardServiceRegistryBuilder.configure(StandardServiceRegistryBuilder.java:163)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:258)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:244)
    at o.k.j.HibernateTest.main(HibernateTest.java:22)
like image 689
ROMANIA_engineer Avatar asked Jun 17 '16 10:06

ROMANIA_engineer


People also ask

Where to place hibernate cfg xml in maven project?

xml needs to be on the classpath . This can be accomplished in different ways, depending on your project. For a web-app WAR project (you are running the program in a Servlet container): placing it in WEB-INF/classes will work as files in WEB-INF/classes are visible on the classpath when app is running in container.


1 Answers

If you are using Maven to build your project, place the 'hibernate.cfg.xml' file under 'src/main/resources'

like image 165
Aditya Gupta Avatar answered Oct 01 '22 03:10

Aditya Gupta