ONJava.com -- The Independent Source for Enterprise Java
oreilly.comSafari Books Online.Conferences.

advertisement

AddThis Social Bookmark Button
Article:
  Working with Hibernate in Eclipse
Subject:   Problems getting Going
Date:   2006-12-15 07:04:30
From:   ChrisC99
Hi


I am just learning hibernate and have configured eclipse with the Synchronizer.


Versions:


Eclipse: 3.2.0
Hibernate: 3.2
Synchronizer: 3.1.9


I am working through Jame's Elliot's tutorial on OnJava and have set up the Chapter 03 example.


Connectivity to HSQLDB is fine - refeshing the mapping file creates the music database (but I cannot see any tables).


However when I try to run the CreateTest2 example it fails with the errors below.


Can anybody help with this - does the Synchronizer work with H3.2 or do I need 2.1. I have changed the DTD o 3.0 and added the constructor in the Track.java class, but now I am stuck...



Many thanks


Chris


exception in thread "main" org.hibernate.MappingException: invalid configuration
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1484)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1411)
at com.oreilly.hh.base._BaseRootDAO.initialize(_BaseRootDAO.java:9
at com.oreilly.hh.base._BaseRootDAO.initialize(_BaseRootDAO.java:8
at com.oreilly.hh.base._BaseRootDAO.initialize(_BaseRootDAO.java:79)
at com.oreilly.hh.CreateTest2.main(CreateTest2.java:17)
Caused by: org.xml.sax.SAXParseException: Document is invalid: no grammar found.
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.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(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.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.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:465)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1481)
... 6 more


The mapping file looks like:


?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">


<hibernate-mapping>


<class name="com.oreilly.hh.Track" table="TRACK">
<meta attribute="class-description">
Represents a single playable track in the music database.
@author Jim Elliott (with help from Hibernate)
</meta>


<id name="id" type="int" column="TRACK_ID">
<meta attribute="scope-set">protected</meta>
<generator class="native"/>
</id>


<property name="title" type="string" not-null="true"/>


<property name="filePath" type="string" not-null="true"/>


<property name="playTime" type="time">
<meta attribute="field-description">Playing time</meta>
</property>


<property name="added" type="date">
<meta attribute="field-description">When the track was created</meta>
</property>


<property name="volume" type="short">
<meta attribute="field-description">How loud to play the track</meta>
</property>


</class>


<query name="com.oreilly.hh.tracksNoLongerThan">
<![CDATA[
from com.oreilly.hh.Track as track
where track.playTime <= :length
]]>
</query>


</hibernate-mapping>