-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi all,
I tryed to use xd2 (plugins ver 1.0.2) hibernate plugin to map a deep inheritance hirarchy with the union subclass strategy and recognized a bug. Only the immediate children classes are mapped as union-subclass, the children of the mapped child are not mapped. Below you can find the fix for this bug. Replace the file UnionSubclass.jelly in src/plugin-hibernate/src/main/java/org/xdoclet/plugin/hibernate directory with the attached file. Kind regards, M.Jerger - -- Informatikbüro Jerger http://www.jerger.org Fuchshaldeweg 15, D-72766 Reutlingen fon: +49-7121-578913 mob: +49-178-8189878 - -- Vorstand von SENS e.V. http://www.SoftwareExperts.de -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDmsUIGizPrwyMK7YRAov8AKC1IWneBceR7T3UqRSJyTQmzsmcNgCfZ0gk Sn/irBUJ7B3gEITKKnbmlbU= =tkYs -----END PGP SIGNATURE-----
<?xml version="1.0" encoding="UTF-8"?> <j:jelly xmlns:j="jelly:core" xmlns:x="jelly:xml"> <j:set var="class" value="${unionSubclass}"/> <j:set var="unionSubclassTag" value="${class.getTagByName('hibernate.union-subclass')}"/> <union-subclass name="${plugin.getFirstNonEmptyValue(unionSubclassTag.name_, class.fullyQualifiedName)}" entity-name="${unionSubclassTag.entityName}" proxy="${unionSubclassTag.proxy}" table="${unionSubclassTag.table}" schema="${unionSubclassTag.schema}" catalog="${unionSubclassTag.catalog}" subselect="${unionSubclassTag.subselect}" dynamic-update="${unionSubclassTag.dynamicUpdate}" dynamic-insert="${unionSubclassTag.dynamicInsert}" select-before-update="${unionSubclassTag.selectBeforeUpdate}" extends="${unionSubclassTag.extends}" lazy="${unionSubclassTag.lazy}" abstract="${unionSubclassTag.abstract}" persister="${unionSubclassTag.persister}" check="${unionSubclassTag.check}" batch-size="${unionSubclassTag.batchSize}" node="${unionSubclassTag.node}"> <!-- process meta elements on class level --> <j:forEach var="metaTag" items="${class.getTagsByName('hibernate.meta')}"> <j:import uri="/Meta.jelly" inherit="true"/> </j:forEach> <!-- process properties --> <j:forEach var="property" items="${plugin.getSubclassProperties(class)}"> <j:import uri="/HibernateProperties.jelly" inherit="true"/> </j:forEach> <!-- union subclasses --> <j:forEach var="unionSubclass" items="${plugin.getSubclasses(class,'hibernate.union-subclass')}"> <j:import uri="/UnionSubclass.jelly" inherit="true"/> </j:forEach> <!-- process subselect --> <j:set var="subselectTag" value="${class.getTagByName('hibernate.subselect')}"/> <j:if test="${subselectTag != null}"> <j:import uri="/Subselect.jelly" inherit="true"/> </j:if> <!-- process synchronize --> <j:forEach var="synchronizeTag" items="${class.getTagsByName('hibernate.synchronize')}"> <j:import uri="/Synchronize.jelly" inherit="true"/> </j:forEach> <!-- process comment --> <j:if test="${unionSubclassTag.comment != null}"> <comment>${unionSubclassTag.comment}</comment> </j:if> <!-- process loader --> <j:set var="loaderTag" value="${class.getTagByName('hibernate.loader')}"/> <j:if test="${loaderTag != null}"> <j:import uri="/Loader.jelly" inherit="true"/> </j:if> <j:set var="sqlOperationEntity" value="${class}"/> <j:import uri="/SqlOperations.jelly" inherit="true"/> <j:import uri="/SqlDeleteAll.jelly" inherit="true"/> </union-subclass> </j:jelly>