Hello,
I'm new to Hibernate. I'm using Middlegen to create my .hbm.xml files from an existing database but when I feed these files into hbm2java it does generate the .java files but complains about the XML when doing so;
[hbm2java] (hbm2java.CodeGenerator 48 ) Error parsing XML: file:/C:/eclipse/workspace/Stakez-Hibernate/build/gen-src/stakez/hibernate/Stakezuser.hbm.xml(19)
[hbm2java] org.xml.sax.SAXParseException: Element "class" does not allow "property" here.
[hbm2java] at org.apache.crimson.parser.Parser2.error(Parser2.java:3210)
.........
.........
Where am I going wrong? Is the xml generated by Middlegen correct? am I missing somthing when I call hbm2java?
many thanks
James
The hbm.xml files generated from Middlegen are;
Xchangelog.hbm.xml & Stakezuser.hbm.xml
-----------------------
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<!--
Created by Middlegen Hibernate plugin
http://boss.bekk.no/boss/middlegen/
http://hibernate.sourceforge.net/
-->
<class
name="stakez.hibernate.Xchangelog"
table="xchangelog"
>
<property
name="username"
type="java.lang.String"
column="username"
length="20"
/>
<property
name="ipaddress"
type="java.lang.String"
column="ipaddress"
length="15"
/>
<property
name="sentdate"
type="java.sql.Date"
column="sentdate"
length="4"
/>
<!-- associations -->
</class>
</hibernate-mapping>
---------------------
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<!--
Created by Middlegen Hibernate plugin
http://boss.bekk.no/boss/middlegen/
http://hibernate.sourceforge.net/
-->
<class
name="stakez.hibernate.Stakezuser"
table="stakezuser"
>
<property
name="username"
type="java.lang.String"
column="username"
not-null="true"
length="20"
/>
<property
name="password"
type="java.lang.String"
column="password"
not-null="true"
length="20"
/>
<property
name="email"
type="java.lang.String"
column="email"
not-null="true"
length="60"
/>
<property
name="level"
type="java.lang.String"
column="level"
length="10"
/>
<property
name="url"
type="java.lang.String"
column="url"
length="80"
/>
<property
name="sent"
type="int"
column="sent"
length="4"
/>
<property
name="recieved"
type="int"
column="recieved"
length="4"
/>
<property
name="status"
type="java.lang.String"
column="status"
length="10"
/>
<property
name="owed"
type="int"
column="owed"
length="4"
/>
<!-- associations -->
</class>
</hibernate-mapping>
I call hbm2java from ant;
<target name="hbm2java"
description="Generate .java from .hbm files.">
<taskdef
name="hbm2java"
classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask"
classpathref="lib.class.path"
/>
<hbm2java output="${build.java.dir}" classpathref="lib.class.path">
<fileset dir="${build.gen-src.dir}">
<include name="**/*.hbm.xml"/>
</fileset>
</hbm2java>
</target>