I have some inherited code that uses hibernate. I’m getting the following error:
Caused by: org.hibernate.HibernateException: C:\dev\wk\rs.110-AQU-120.cca.cca-ui\main\config\hibernate\DEV\master.cfg.xml not found
at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:147)
at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1402)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1424)
at com.cca.persistence.HibernateUtil$Parameters.<init>(HibernateUtil.java:96)
at com.cca.persistence.HibernateUtil.<clinit>(HibernateUtil.java:137)
... 4 more
This occurs when calling AnnotationConfiguration()#configure(String configurationFile);
But the file does exist. Why would hibernate not be able to locate it?
The path to your ressource must not be a absolute path (
C:\dev\wk\rs.110-AQU-120.cca...), it must be the relative path within your application, like the package name!The reason is, that
org.hibernate.util.ConfigHelper.getResourceAsStreamload the resorce byClassLoader.getResourceAsStream(<resourceName>).For more details, have a look at ClassLoader.getResourceAsStream, and ClassLoader.getResource.