Note that there are some explanatory texts on larger screens.

plurals
  1. POHibernate 4. Invalid Mapping Exception. Unable to read XML. Element type hibernate-mapping must be declared
    text
    copied!<p>I have <code>InvalidMappingException</code> on <code>org.hibernate.cfg.Configuration.configure()</code> method call.</p> <p><strong>Stack trace:</strong></p> <pre><code> javax.servlet.ServletException: org.hibernate.InvalidMappingException: Unable to read XML org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) javax.servlet.http.HttpServlet.service(HttpServlet.java:647) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) root cause org.hibernate.InvalidMappingException: Unable to read XML org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:109) org.hibernate.cfg.Configuration.add(Configuration.java:488) org.hibernate.cfg.Configuration.add(Configuration.java:484) org.hibernate.cfg.Configuration.add(Configuration.java:657) org.hibernate.cfg.Configuration.addResource(Configuration.java:740) org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2188) org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2160) org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2140) org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2093) org.hibernate.cfg.Configuration.configure(Configuration.java:2008) org.hibernate.cfg.Configuration.configure(Configuration.java:1987) com.petrez.util.HibernateUtil.getSessionFactory(HibernateUtil.java:12) com.action.UserAction.setUser(UserAction.java:29) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:601) org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269) org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170) org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58) org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67) org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305) org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) javax.servlet.http.HttpServlet.service(HttpServlet.java:647) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) root cause org.xml.sax.SAXParseException; systemId: ; lineNumber: 5; columnNumber: 47; Element type "hibernate-mapping" must be declared. org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1213) org.apache.xerces.validators.common.XMLValidator.reportRecoverableXMLError(XMLValidator.java:1807) org.apache.xerces.validators.common.XMLValidator.validateElementAndAttributes(XMLValidator.java:3633) org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:1229) org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1806) org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:949) org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381) org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098) org.dom4j.io.SAXReader.read(SAXReader.java:465) org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:78) org.hibernate.cfg.Configuration.add(Configuration.java:488) org.hibernate.cfg.Configuration.add(Configuration.java:484) org.hibernate.cfg.Configuration.add(Configuration.java:657) org.hibernate.cfg.Configuration.addResource(Configuration.java:740) org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2188) org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2160) org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2140) org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2093) org.hibernate.cfg.Configuration.configure(Configuration.java:2008) org.hibernate.cfg.Configuration.configure(Configuration.java:1987) com.petrez.util.HibernateUtil.getSessionFactory(HibernateUtil.java:12) com.action.UserAction.setUser(UserAction.java:29) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:601) org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269) org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170) org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58) org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67) org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305) org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) javax.servlet.http.HttpServlet.service(HttpServlet.java:647) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) </code></pre> <p>Config file: <strong>hibernate.cfg.xml</strong></p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"&gt; &lt;hibernate-configuration&gt; &lt;session-factory&gt; &lt;property name="hibernate.bytecode.use_reflection_optimizer"&gt;false&lt;/property&gt; &lt;property name="hibernate.connection.driver_class"&gt;com.mysql.jdbc.Driver&lt;/property&gt; &lt;property name="hibernate.connection.url"&gt;jdbc:mysql://localhost:3306/LIBRARY&lt;/property&gt; &lt;property name="hibernate.connection.username"&gt;root&lt;/property&gt; &lt;property name="hibernate.connection.password"&gt;G190419g&lt;/property&gt; &lt;property name="hibernate.dialect"&gt;org.hibernate.dialect.MySQLDialect&lt;/property&gt; &lt;property name="hibernate.show_sql"&gt;false&lt;/property&gt; &lt;property name="hibernate.current_session_context_class"&gt;thread&lt;/property&gt; &lt;property name="hibernate.cglib.use_reflection_optimizer"&gt;false&lt;/property&gt; &lt;property name="hibernate.c3p0.acquire_increment"&gt;1&lt;/property&gt; &lt;property name="hibernate.c3p0.idle_test_period"&gt;3000&lt;/property&gt; &lt;property name="hibernate.c3p0.max_size"&gt;100&lt;/property&gt; &lt;property name="hibernate.c3p0.max_statements"&gt;50&lt;/property&gt; &lt;property name="hibernate.c3p0.min_size"&gt;10&lt;/property&gt; &lt;property name="hibernate.c3p0.timeout"&gt;100&lt;/property&gt; &lt;property name="hibernate.c3p0.testConnectionOnCheckout"&gt;true&lt;/property&gt; &lt;mapping resource="com/petrez/model/Users.hbm.xml" /&gt; &lt;/session-factory&gt; &lt;/hibernate-configuration&gt; </code></pre> <p>Mapping file: <strong>Users.hbm.xml</strong></p> <pre><code>&lt;?xml version='1.0' encoding='UTF-8'?&gt; &lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"&gt; &lt;hibernate-mapping package="com.petrez.model"&gt; &lt;class name="Users" table="Users" &gt; &lt;id name="id" column="Id" type="java.lang.Integer" &gt; &lt;generator class="increment"/&gt; &lt;/id&gt; &lt;property name="firstName" type="java.lang.String"&gt; &lt;column name="FirstName" length="45" /&gt; &lt;/property&gt; &lt;property name="lastName" type="java.lang.String"&gt; &lt;column name="LastName" length="45" /&gt; &lt;/property&gt; &lt;property name="eMail" type="java.lang.String"&gt; &lt;column name="Email" length="45" /&gt; &lt;/property&gt; &lt;/class&gt; &lt;/hibernate-mapping&gt; </code></pre> <p>So anybody can say me where is here a mistake? Thanks.</p> <p><strong>UPD:</strong> Project Structure.</p> <p><img src="https://i.stack.imgur.com/WHv8u.png" alt="Project Structure"></p> <p>Well. I didn't find a solution, but annotations helped me.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload