I'm new to hibernate. I have been trying to set it up for the past few days. I went through the docs, the FAQ and searched the forum. On Hibernate start-up, we get an XML parser error, the parser does not accept our simplistic configuration and I can not figure out why :(
Thanking all of you in advance for any help!
Objective
---------------
Configure for Hibernate provided JDBC connection with C3P0 connection pooling
Problem
-------------
XML parser does not accept our simplistic configuration
System set-up
------------------------
Solaris 8
Tomcat 4.1.24
Hibernate 2.1.1
Configuration file (hibernate.cfg.xml)
-------------------------------------------
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 2.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- hibernate.connection.provider_class net.sf.hibernate.connection.C3P0ConnectionProvider -->
<property name="c3p0.min_size">2</property>
<property name="c3p0.max_size">10</property>
<property name="c3p0.max_statements">100</property>
<property name="c3p0.timeout">100</property>
<property name="c3p0.validate">true</property>
<property name="connection.driver_class">com.sybase.jdbc2.jdbc.SybDriver</property>
<property name="connection.url">jdbc:sybase:Tds:jardin:4100/patate</property>
<property name="connection.username">auser</property>
<property name="connection.password">apassword</property>
<property name="dialect">net.sf.hibernate.dialect.SybaseDialect</property>
<property name="show_sql">false</property>
<mapping resource="Customer.hbm.xml"/>
<mapping resource="HibernateTestUser.hbm.xml"/>
</session-factory>
</hibernate-configuration>
log
------
2004-01-08 10:49:50 INFO [cfg.Environment] - Hibernate 2.1.1
2004-01-08 10:49:50 INFO [cfg.Environment] - hibernate.properties not found
2004-01-08 10:49:50 INFO [cfg.Environment] - using CGLIB reflection optimizer
2004-01-08 10:49:50 INFO [cfg.Configuration] - configuring from resource: /hibernate.cfg.xml
2004-01-08 10:49:50 INFO [cfg.Configuration] - Configuration resource: /hibernate.cfg.xml
2004-01-08 10:49:50 DEBUG [util.DTDEntityResolver] - trying to locate
http://hibernate.sourceforge.net/hibern ... on-2.0.dtd in classpath under net/sf/hibernate/
2004-01-08 10:49:50 DEBUG [util.DTDEntityResolver] - found
http://hibernate.sourceforge.net/hibern ... on-2.0.dtd in classpath
2004-01-08 10:49:51 ERROR [util.XMLHelper] - Error parsing XML: /hibernate.cfg.xml(30) The content of element type "session-factory" must match "(property*,mapping+,(class-cache|collection-cache|jcs-class-cache|jcs-collection-cache)*)".
2004-01-08 10:49:51 ERROR [cfg.Configuration] - problem parsing configuration/hibernate.cfg.xml
net.sf.hibernate.MappingException: invalid configuration
at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:902)
at net.sf.hibernate.cfg.Configuration.configure(Configuration.java:845)
at net.sf.hibernate.cfg.Configuration.configure(Configuration.java:831)
at se.ericsson.lmc.common.model.util.HibernateUtil.<clinit>(HibernateUtil.java:15)
at se.ericsson.lmc.ccl.model.CclApplication.login(CclApplication.java:84)
at se.ericsson.lmc.ccl.struts.action.LoginAction.executeAction(Unknown Source)
at se.ericsson.lmc.ccl.struts.action.CclBaseAction.execute(Unknown Source)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:466)
at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)
at java.lang.Thread.run(Thread.java:536)
Caused by: org.xml.sax.SAXParseException: The content of element type "session-factory" must match "(property*,mapping+,(class-cache|collection-cache|jcs-class-cache|jcs-collection-cache)*)".
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.dom4j.io.SAXReader.read(SAXReader.java:339)
at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:901)
... 40 more[code][/code]