Where to place hibernate.cfg.xml?
Solution 1:
The config file hibernate.cfg.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 inWEB-INF/classes
are visible on the classpath when app is running in container.For a Maven-style project (not running the program in a Servlet container): placing it in
/src/main/resources/
will workFor otherwise, try in the
src/
directory.
Solution 2:
I'm using maven, and it didn't work for me until I put hibernate.cfg.xml in src/main/resources
.
Solution 3:
At the root of your project: /src
(at leat as default)
How to know if /src
is the sources dir?
When you create a new Java class, it is contained in a package (normally it is called as the same name of the dir where it is created). So, in your class declarion you can see something like this:
package foo;
class MyClass{
In default IDE settings, the class should found under /src/foo/MyClass.java
. As you can see, in this scenario /src
acts as root sources dir.