Vampnik Vampnik - 6 months ago 32
Java Question

Hibernate Configuration Error (Cannot find declaration of element 'hibernate-configuration')

I'm trying to establish a simple connection to my database using hibernate. Here is my configuration file:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="connection.url">jdbc:hsqldb:hsql://localhost</property>
<property name="connection.username">user</property>
<property name="connection.password">pass</property>

<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>

<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>

<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>

<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>

<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>

<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">update</property>
<mapping resource="com/mycomp/pro/model/elem/elem.hbm.xml"/>
</session-factory>
</hibernate-configuration>


I get the following error:

Exception in thread "main" org.hibernate.internal.util.config.ConfigurationException: Unable to perform unmarshalling at line number 6 and column 26 in RESOURCE hibernate.cfg.xml. Message: cvc-elt.1: Cannot find the declaration of element 'hibernate-configuration'.
...


Seems bit illogical. Since I have 'hibernate-configuration' as the root element in the hibernate.cfg.xml file.

I'm using Hibernate 4.1.1 (just mentioning, since I've gotten some hints that the new hibernate could possibly have some issues)

Hopefully somebody can help since I'm new to Hibernate and right now I'm not getting any major help from google either.

Answer

Build the Session Factory using the below command -

new Configuration().configure().buildSessionFactory();

As for the Hibernate.cfg you could try the below header.

<hibernate-configuration 
 xmlns="http://www.hibernate.org/xsd/hibernate-configuration" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.hibernate.org/xsd/hibernate-configuration 
 https://github.com/hibernate/hibernate-orm/raw/master/hibernate-core/src/main/resources/org/hibernate/hibernate-configuration-4.0.xsd">

Currently Hibernate 4.1 seems to be suffering from bugs(Not sure about stability). I found the solution at a mailing list so check that out as well. Hope this helps.

http://www.mail-archive.com/hibernate-dev@lists.jboss.org/msg06937.html

Comments