Hi David,
I only looked at the hibernate.xdt and it looks correct to me:
Code:
<XDtHibernate:ifHasCompositeId>
<composite-id
name="<XDtMethod:propertyName/>"
class="<XDtMethod:methodTagValue tagName="hibernate.id" paramName="class" default="<XDtMethod:methodType/>"/>"
<XDtMethod:ifHasMethodTag tagName="hibernate.id" paramName="unsaved-value">
unsaved-value="<XDtMethod:methodTagValue tagName="hibernate.id" paramName="unsaved-value" values="any,none"/>"
</XDtMethod:ifHasMethodTag>
>
<XDtClass:pushClass value="<XDtMethod:methodType/>">
<XDtMethod:forAllMethods superclasses="true" sort="true">
<XDtMethod:ifHasMethodTag tagName="hibernate.property">
<key-property
name="<XDtMethod:propertyName />"
type="<XDtMethod:methodTagValue tagName="hibernate.property" paramName="type" default="<XDtMethod:methodType/>"/>"
column="<XDtMethod:methodTagValue tagName="hibernate.property" paramName="column" default="<XDtMethod:propertyName/>"/>"
<XDtMethod:ifHasMethodTag tagName="hibernate.property" paramName="length">
length="<XDtMethod:methodTagValue tagName="hibernate.property" paramName="length" />"
</XDtMethod:ifHasMethodTag>
/>
</XDtMethod:ifHasMethodTag>
<XDtMethod:ifHasMethodTag tagName="hibernate.many-to-one">
<key-many-to-one
name="<XDtMethod:propertyName/>"
class="<XDtMethod:methodTagValue tagName="hibernate.many-to-one" paramName="class" default="<XDtMethod:methodType/>" />"
column="<XDtMethod:methodTagValue tagName="hibernate.many-to-one" paramName="column" default="<XDtMethod:propertyName/>"/>"
/>
</XDtMethod:ifHasMethodTag>
</XDtMethod:forAllMethods>
</XDtClass:pushClass>
</composite-id>
</XDtHibernate:ifHasCompositeId>
The best way to replicate this is to create a table in Oracle with a 2 column primary key and use middlegen against it and then run the Xdoclet. If you have any further suggestion I can hava a look.
Thanks!!!!