Thanks for the web-inf/classes tip. Just curious though, why do you have to create a folder for it to be found? Could anyone explain this please?

WEB-INF/classes folder is in the classpath by default in web applications. So if you place any class file or resource (.xml or any other) file we can load it easily with Class.getResourceAsStream() or ClassLoader.getResource... like methods.

In such cases jvm will search all the class paths for the specified files, we no need to specify exact path of the file.Hibernate also loads the files in such a way, so it works.