[ http://jira.codehaus.org/browse/XDP-67?page=comments#action_51514 ]
Julian Price commented on XDP-67: --------------------------------- I had the same problems with the join tag, in that the subclass's properties weren't appearing within the subclass's join tag and the join key was not being generated (i.e. it was generated as an empty <key/> tag). Rather than waiting for a fix, I decided to fix/enhance Xdoclet2 myself in version 2-1.0.1: What I did first was add a new @hibernate property called hibernate.join-key (this property was referred to in the Join.jelly file, but didn't have an entry in the TagLibrary class so it wasn't recognised by the parser). Secondly, I modified the Subclass.jelly and Join.jelly files to a. process <property> tags within the join b. if the subclass contains a <join>, then do not process the <property> tags for that subclass (but do for it's subclasses) The files I've changed are: org/xdoclet/plugin/hibernate/Join.jelly org/xdoclet/plugin/hibernate/Subclass.jelly org/xdoclet/plugin/hibernate/qtags/TagLibrary.java I've also created the following 2 new classes: org/xdoclet/plugin/hibernate/HibernateJoinKeyTag.java org/xdoclet/plugin/hibernate/HibernateJoinKeyTagImpl.java I've tested the fix by comparing my handcrafted Hibernate mapping file against the file generated by my modified Xdoclet2 and they are exactly the same. I will do a comparison of the code I've changed against the latest 1.0.2 plugins codebase and submit the files list above into the project. Julian > hibernate join table property cannot be configured > -------------------------------------------------- > > Key: XDP-67 > URL: http://jira.codehaus.org/browse/XDP-67 > Project: XDoclet 2 Plugins > Type: Bug > Components: hibernate > Versions: hibernate-1.0 > Reporter: Andreas Wuest > Attachments: screenshot-1.jpg > > > Hello, > i have a small problem with join tables in xdoclet 2. i have a class > mapping that contains the following join table mapping (works fine > with hibernate 3.0), unnecessary tags removed so it is better to read : > <class name="Geschaeft" table="BA2_E_GESCHAEFT_VW" discriminator-value="-5" > lazy="false"> > <composite-id name="id" class="GeschaeftPK"> > <key-property name="bank" type="java.lang.Long"> > <column name="BANK_ID" scale="3" precision="0" not-null="true" > sql-type="NUMBER" /> > </key-property> > <key-property name="stichtag" type="java.lang.Long"> > <column name="STICHTAG" scale="8" precision="0" not-null="true" > sql-type="NUMBER" /> > </key-property> > <key-property name="laufkennung" type="java.lang.Long"> > <column name="LAUFKENNUNG_NR" scale="2" precision="0" not-null="true" > sql-type="NUMBER" /> > </key-property> > <key-property name="kontoNr" type="java.lang.Long"> > <column name="KONTO_NR" scale="15" precision="0" not-null="true" > sql-type="NUMBER" /> > </key-property> > <key-property name="kontoNrSub" type="java.lang.Long"> > <column name="KONTO_NR_SUB" scale="15" precision="0" not-null="true" > sql-type="NUMBER" /> > </key-property> > </composite-id> > <join table="BA2_R_GESCHAEFT_VW" optional="true" inverse="false" > fetch="join"> > <key> > <column name="BANK_ID" scale="3" precision="0" not-null="true" > sql-type="NUMBER" /> > <column name="STICHTAG" scale="8" precision="0" not-null="true" > sql-type="NUMBER" /> > <column name="LAUFKENNUNG_NR" scale="2" precision="0" > not-null="true" sql-type="NUMBER" /> > <column name="KONTO_NR" scale="15" precision="0" not-null="true" > sql-type="NUMBER" /> > <column name="KONTO_NR_SUB" scale="15" precision="0" not-null="true" > sql-type="NUMBER" /> > </key> > <property name="istKurzfristig" type="java.lang.Boolean"> > <column name="IST_KURZFRISTIG" scale="1" precision="0" > not-null="false" sql-type="NUMBER" /> > </property> > </join> > </class> > problem is, that > i have no idea how to tell xdoclet 2 that the property "istKurzfristig" > has to be within the join tag. xdoclet always adds the property > tag to the class tag that surrounds the join tag. Looking at the > Join.jelly file it looks like it is not possible to add properties > to the join table tag, which makes the join tag impossible to use > with xdoclet 2, or did i miss something ? > another minor problem: > incomplete documentation : @hibernate.join-key is not documented > at http://xdoclet.codehaus.org/HibernateTags > however it is required if you are using @hibernate.join (error message > tell you that the join-key is missing > [xdoclet] 15.06.2005 16:24:18 > org.apache.commons.jelly.expression.jexl.JexlExp > ression evaluate > [xdoclet] WARNUNG: Caught exception evaluating: > org.apache.commons.jexl.Expres > [EMAIL PROTECTED] Reason: java.lang.RuntimeException: hibernate.join-key is > requi > red in AbstractGeschaeft at line 90 > [xdoclet] java.lang.RuntimeException: hibernate.join-key is required in > Abstra > ctGeschaeft at line 90 > [xdoclet] at org.generama.Plugin.assertTrue(Plugin.java:158) > [xdoclet] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > [xdoclet] at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces > sorImpl.java:39) > regards, > Andreas -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today Register for a JBoss Training Course. Free Certification Exam for All Training Attendees Through End of 2005. For more info visit: http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click _______________________________________________ xdoclet-plugins-interest mailing list xdoclet-plugins-interest@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xdoclet-plugins-interest
