I have a hibernate application and I am having a problem with a map. I have
a
class, Transaction, with a subclass PieceTransaction, and I want it to have
something like the following xml 1). I have the java source code below, 2).
But I get an exception when I run the ant job to create the xml from the
comments, see 3). Is there a problem with the java code, or did I do
something
else wrong? If you need any more information, please let me know.

Thanks,
Lance


1) ===================================================================

      <map table="facade_line" lazy="false" cascade="all,delete-orphan"
name="facadeLines">
        <key foreign-key="fk_facade_transaction" column="id_transaction"/>
        <composite-map-key class="com.parvia.account.FacadeKey">
          <key-property name="edificeName" column="edifice_name"
type="string" length="20"/>
          <key-property name="facadeName" column="facade_name" type="string"
length="40"/>
          <key-property name="bagNumber" column="bag_number" type="int"/>
        </composite-map-key>
        <element type="int" column="count"/>
      </map>

2) ===================================================================

        /**
         * @hibernate.map
         * table="facade_line"
         * lazy="false"
         * cascade="all,delete-orphan"
         * @hibernate.key
         * column="id_transaction"
         * foreign-key="fk_facade_transaction"
         * @hibernate.composite-map-key
         * class="com.parvia.account.FacadeKey"
         * @hibernate.key-property
         * type="string"
         * column="edifice_name"
         * length="20"
         * @hibernate.key-property
         * type="string"
         * column="facade_name"
         * length="40"
         * @hibernate.key-property
         * type="int"
         * column="bag_number"
         * @hibernate.element
         * column="count"
         * type="int"
     */
        public Map getFacadeLines() {
                return facadeLines;
        }

        public void setFacadeLines(Map facadeLines) {
                this.facadeLines = facadeLines;
        }

3) ===================================================================

C:\web\sql>call ant hibernatedoclet
Buildfile: build.xml

hibernatedoclet:
  [xdoclet] Running org.xdoclet.plugin.hibernate.HibernateMappingPlugin
  [xdoclet]   * Generate mapping for 'Transaction' entity
  [xdoclet] Feb 13, 2006 4:22:53 PM
org.apache.commons.jelly.expression.jexl.JexlExpression evaluate
  [xdoclet] WARNING: Caught exception evaluating:
[EMAIL PROTECTED] Reason:
java.lang.RuntimeException: more than one top leve
l property deined in class PieceTransaction for property facadeLines
  [xdoclet] java.lang.RuntimeException: more than one top level property
deined in class PieceTransaction for property facadeLines
  [xdoclet]     at org.generama.Plugin.assertTrue(Plugin.java:158)
  [xdoclet]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
  [xdoclet]     at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
  [xdoclet]     at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
  [xdoclet]     at java.lang.reflect.Method.invoke(Method.java:324)
  [xdoclet]     at
org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invok
e(UberspectImpl.java:268)
  [xdoclet]     at
org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:61)
  [xdoclet]     at
org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:68)
  [xdoclet]     at
org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:50)
  [xdoclet]     at
org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:86)
  [xdoclet]     at
org.apache.commons.jelly.expression.jexl.JexlExpression.evaluate(JexlExpress
ion.java:69)
. . .

Reply via email to