Hi,

I read in the hibernate-forum that David Channon already has commited some 
enhancements for Hibernate3 in current CVS, but this was just some basic 
recognition of the version 3.0-tag. 

Some days ago I made some enhancements to the templates myself to support a 
subset of hibernate3. It's far from being complete, but it suffices my needs 
and it's much more than it is in current CVS. Feel free to apply the attached 
diff to cvs.

I'm afraid it is no diff against current CVS; my base was xdoclet-1.2.2 and I 
let out those changes that David already made to cvs.

Keep up the good work,
Stephan

PS: Please cc me for replies since I'm not on the list.
Index: modules/hibernate/src/xdoclet/modules/hibernate/HibernateTagsHandler.java
===================================================================
RCS file: /home/cvs/repositories/shopdev/java/xdoclet/modules/hibernate/src/xdoclet/modules/hibernate/HibernateTagsHandler.java,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- modules/hibernate/src/xdoclet/modules/hibernate/HibernateTagsHandler.java	8 Apr 2005 12:18:36 -0000	1.1.1.1
+++ modules/hibernate/src/xdoclet/modules/hibernate/HibernateTagsHandler.java	8 Apr 2005 15:31:18 -0000	1.2
@@ -163,6 +164,8 @@
     {
         if ("1.1".equals(getHibernateSubTask().getVersion()))
             return "cirrus.hibernate.jmx.HibernateService";
+        else if ("3.0".equals(getHibernateSubTask().getVersion()))
+            return "org.hibernate.jmx.HibernateService";
         else
             return "net.sf.hibernate.jmx.HibernateService";
     }
@@ -683,7 +686,7 @@
             XClass typeClass = getXJavaDoc().getXClass(typeStr);
 
             if (typeClass != null) {
-                isUserType = typeClass.isA("cirrus.hibernate.UserType") || typeClass.isA("net.sf.hibernate.UserType");
+                isUserType = typeClass.isA("cirrus.hibernate.UserType") || typeClass.isA("net.sf.hibernate.UserType") || typeClass.isA("org.hibernate.usertype.UserType");
             }
         }
         else {
Index: modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-collections.xdt
===================================================================
RCS file: /home/cvs/repositories/shopdev/java/xdoclet/modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-collections.xdt,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-collections.xdt	8 Apr 2005 12:18:37 -0000	1.1.1.1
+++ modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-collections.xdt	8 Apr 2005 15:31:18 -0000	1.2
@@ -21,6 +21,9 @@
 
           <XDtMethod:ifHasMethodTag tagName="hibernate.collection-key">
               <key
+              <XDtMethod:ifHasMethodTag tagName="hibernate.collection-key" paramName="on-delete">
+                  on-delete="<XDtMethod:methodTagValue tagName="hibernate.collection-key" paramName="on-delete" />"
+              </XDtMethod:ifHasMethodTag>
               <XDtMethod:ifDoesntHaveMethodTag tagName="hibernate.collection-key-column">
                   column="<XDtMethod:methodTagValue tagName="hibernate.collection-key" paramName="column" />"
                 <XDtMethod:ifHasMethodTag tagName="hibernate.collection-key" paramName="length">
@@ -78,9 +81,9 @@
         <key-property
             name="<XDtMethod:propertyName />"
             type="<XDtMethod:methodTagValue tagName="hibernate.property" paramName="type" default="<XDtMethod:methodType/>"/>"
-          <XDtConfig:ifConfigParamEquals paramName="version" value="2.0">
+          <XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="2.0">
             access="<XDtMethod:methodTagValue tagName="hibernate.property" paramName="access" values="field,property,Class" default="property"/>"
-          </XDtConfig:ifConfigParamEquals>
+          </XDtConfig:ifConfigParamGreaterOrEquals>
           <XDtHibernate:setCurrentTag name="hibernate.property" mappingElement="key-property">
             <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-column.xdt">
             </XDtMerge:merge>
@@ -90,12 +93,12 @@
         <key-many-to-one
             name="<XDtMethod:propertyName/>"
             class="<XDtMethod:methodTagValue tagName="hibernate.many-to-one" paramName="class" default="<XDtMethod:methodType/>" />"
-          <XDtConfig:ifConfigParamEquals paramName="version" value="2.0">
+          <XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="2.0">
             access="<XDtMethod:methodTagValue tagName="hibernate.many-to-one" paramName="access" values="field,property,Class" default="property"/>"
           <XDtMethod:ifHasMethodTag tagName="hibernate.many-to-one" paramName="foreign-key">
             foreign-key="<XDtMethod:methodTagValue tagName="hibernate.many-to-one" paramName="foreign-key"/>"
           </XDtMethod:ifHasMethodTag>
-          </XDtConfig:ifConfigParamEquals>
+          </XDtConfig:ifConfigParamGreaterOrEquals>
           <XDtHibernate:setCurrentTag name="hibernate.many-to-one" mappingElement="key-many-to-one">
             <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-column.xdt">
             </XDtMerge:merge>
Index: modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-factory.xdt
===================================================================
RCS file: /home/cvs/repositories/shopdev/java/xdoclet/modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-factory.xdt,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-factory.xdt	8 Apr 2005 12:18:37 -0000	1.1.1.1
+++ modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-factory.xdt	8 Apr 2005 15:31:18 -0000	1.2
@@ -5,11 +5,21 @@
 
 package <XDtPackage:packageOf><XDtHibernate:factoryClass/></XDtPackage:packageOf>;
 
+<XDtConfig:ifConfigParamNotGreaterOrEquals paramName="version" value="3.0">
 import net.sf.hibernate.HibernateException;
 import net.sf.hibernate.SessionFactory;
 import net.sf.hibernate.cfg.Configuration;
 import net.sf.hibernate.MappingException;
+</XDtConfig:ifConfigParamNotGreaterOrEquals>
 
+<XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="3.0">
+import org.hibernate.HibernateException;
+import org.hibernate.SessionFactory;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.MappingException;
+</XDtConfig:ifConfigParamGreaterOrEquals>
+	
+	
 import javax.naming.NamingException;
 import java.util.Properties;
 
Index: modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-joined-subclass.xdt
===================================================================
RCS file: /home/cvs/repositories/shopdev/java/xdoclet/modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-joined-subclass.xdt,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-joined-subclass.xdt	8 Apr 2005 12:18:37 -0000	1.1.1.1
+++ modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-joined-subclass.xdt	8 Apr 2005 15:31:18 -0000	1.2
@@ -10,10 +10,10 @@
           <XDtClass:ifHasClassTag tagName="hibernate.joined-subclass" paramName="schema" superclasses="false">
             schema="<XDtClass:classTagValue tagName="hibernate.joined-subclass" paramName="schema" default="false" />"
           </XDtClass:ifHasClassTag>
-          <XDtConfig:ifConfigParamEquals paramName="version" value="2.0">
+          <XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="2.0">
             dynamic-update="<XDtClass:classTagValue tagName="hibernate.joined-subclass" paramName="dynamic-update" default="false" />"
             dynamic-insert="<XDtClass:classTagValue tagName="hibernate.joined-subclass" paramName="dynamic-insert" default="false" />"
-          </XDtConfig:ifConfigParamEquals>
+          </XDtConfig:ifConfigParamGreaterOrEquals>
           <XDtClass:ifHasClassTag tagName="hibernate.joined-subclass" paramName="lazy" superclasses="true">
             lazy="<XDtClass:classTagValue tagName="hibernate.joined-subclass" paramName="lazy" values="true,false" />"
           </XDtClass:ifHasClassTag>
Index: modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-properties.xdt
===================================================================
RCS file: /home/cvs/repositories/shopdev/java/xdoclet/modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-properties.xdt,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-properties.xdt	8 Apr 2005 12:18:37 -0000	1.1.1.1
+++ modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-properties.xdt	8 Apr 2005 15:31:19 -0000	1.2
@@ -2,7 +2,7 @@
         <property
             name="<XDtMethod:propertyName />"
             type="<XDtMethod:methodTagValue tagName="hibernate.property" paramName="type" default="<XDtMethod:methodType/>"/>"
-          <XDtConfig:ifConfigParamEquals paramName="version" value="2.0">
+          <XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="2.0">
             <XDtMethod:ifHasMethodTag tagName="hibernate.property" paramName="formula">
             formula="<XDtMethod:methodTagValue tagName="hibernate.property" paramName="formula" default=""/>"
             update="<XDtMethod:methodTagValue tagName="hibernate.property" paramName="update" values="true,false" default="false"/>"
@@ -13,7 +13,7 @@
             insert="<XDtMethod:methodTagValue tagName="hibernate.property" paramName="insert" values="true,false" default="true"/>"
             </XDtMethod:ifDoesntHaveMethodTag>
             access="<XDtMethod:methodTagValue tagName="hibernate.property" paramName="access" values="field,property,Class" default="property"/>"
-          </XDtConfig:ifConfigParamEquals>
+          </XDtConfig:ifConfigParamGreaterOrEquals>
             <XDtHibernate:setCurrentTag name="hibernate.property" mappingElement="property">
               <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-column.xdt">
               </XDtMerge:merge>
@@ -26,7 +26,7 @@
             class="<XDtMethod:methodTagValue tagName="hibernate.many-to-one" paramName="class" default="<XDtMethod:methodType/>" />"
             cascade="<XDtMethod:methodTagValue tagName="hibernate.many-to-one" paramName="cascade" values="none,all,save-update,delete" default="none"/>"
             outer-join="<XDtMethod:methodTagValue tagName="hibernate.many-to-one" paramName="outer-join" values="true,false,auto" default="auto"/>"
-          <XDtConfig:ifConfigParamEquals paramName="version" value="2.0">
+          <XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="2.0">
             update="<XDtMethod:methodTagValue tagName="hibernate.many-to-one" paramName="update" values="true,false" default="true"/>"
             insert="<XDtMethod:methodTagValue tagName="hibernate.many-to-one" paramName="insert" values="true,false" default="true"/>"
             access="<XDtMethod:methodTagValue tagName="hibernate.many-to-one" paramName="access" values="field,property,Class" default="property"/>"
@@ -36,7 +36,7 @@
             <XDtMethod:ifHasMethodTag tagName="hibernate.many-to-one" paramName="property-ref">
             property-ref="<XDtMethod:methodTagValue tagName="hibernate.many-to-one" paramName="property-ref"/>"
             </XDtMethod:ifHasMethodTag>   
-          </XDtConfig:ifConfigParamEquals>
+          </XDtConfig:ifConfigParamGreaterOrEquals>
           <XDtHibernate:setCurrentTag name="hibernate.many-to-one" mappingElement="many-to-one">
                <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-column.xdt">
                </XDtMerge:merge>
@@ -97,9 +97,9 @@
           <XDtConfig:ifConfigParamEquals paramName="version" value="1.1">
             readonly="<XDtMethod:methodTagValue tagName="hibernate.set" paramName="readonly"  values="true,false" default="false"/>"
           </XDtConfig:ifConfigParamEquals>
-          <XDtConfig:ifConfigParamEquals paramName="version" value="2.0">
+          <XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="2.0">
             inverse="<XDtMethod:methodTagValue tagName="hibernate.set" paramName="inverse"  values="true,false" default="false"/>"
-          </XDtConfig:ifConfigParamEquals>
+          </XDtConfig:ifConfigParamGreaterOrEquals>
             cascade="<XDtMethod:methodTagValue tagName="hibernate.set" paramName="cascade" values="none,all,save-update,delete,all-delete-orphan,delete-orphan" default="none"/>"
             sort="<XDtMethod:methodTagValue tagName="hibernate.set" paramName="sort" default="unsorted"/>"
           <XDtMethod:ifHasMethodTag tagName="hibernate.set" paramName="order-by">
@@ -127,9 +127,9 @@
           <XDtConfig:ifConfigParamEquals paramName="version" value="1.1">
             readonly="<XDtMethod:methodTagValue tagName="hibernate.bag" paramName="readonly" values="true,false" default="false"/>"
           </XDtConfig:ifConfigParamEquals>
-          <XDtConfig:ifConfigParamEquals paramName="version" value="2.0">
+          <XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="2.0">
             inverse="<XDtMethod:methodTagValue tagName="hibernate.bag" paramName="inverse"  values="true,false" default="false"/>"
-          </XDtConfig:ifConfigParamEquals>
+          </XDtConfig:ifConfigParamGreaterOrEquals>
             cascade="<XDtMethod:methodTagValue tagName="hibernate.bag" paramName="cascade" values="none,all,save-update,delete,all-delete-orphan,delete-orphan" default="none"/>"
           <XDtMethod:ifHasMethodTag tagName="hibernate.bag" paramName="order-by">
             order-by="<XDtMethod:methodTagValue tagName="hibernate.bag" paramName="order-by" />"
@@ -153,9 +153,9 @@
             schema="<XDtMethod:methodTagValue tagName="hibernate.list" paramName="schema" />"
           </XDtMethod:ifHasMethodTag>
             lazy="<XDtMethod:methodTagValue tagName="hibernate.list" paramName="lazy" values="true,false" default="false"/>"
-          <XDtConfig:ifConfigParamEquals paramName="version" value="2.0">
+          <XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="2.0">
             inverse="<XDtMethod:methodTagValue tagName="hibernate.list" paramName="inverse"  values="true,false" default="false"/>"
-          </XDtConfig:ifConfigParamEquals>
+          </XDtConfig:ifConfigParamGreaterOrEquals>
             cascade="<XDtMethod:methodTagValue tagName="hibernate.list" paramName="cascade" values="none,all,save-update,delete,all-delete-orphan,delete-orphan" default="none"/>"
           <XDtMethod:ifHasMethodTag tagName="hibernate.list" paramName="where">
             where="<XDtMethod:methodTagValue tagName="hibernate.list" paramName="where" />"
@@ -177,9 +177,9 @@
           </XDtMethod:ifHasMethodTag>
             lazy="<XDtMethod:methodTagValue tagName="hibernate.map" paramName="lazy"  values="true,false" default="false"/>"
             sort="<XDtMethod:methodTagValue tagName="hibernate.map" paramName="sort" default="unsorted"/>"
-          <XDtConfig:ifConfigParamEquals paramName="version" value="2.0">
+          <XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="2.0">
             inverse="<XDtMethod:methodTagValue tagName="hibernate.map" paramName="inverse"  values="true,false" default="false"/>"
-          </XDtConfig:ifConfigParamEquals>
+          </XDtConfig:ifConfigParamGreaterOrEquals>
             cascade="<XDtMethod:methodTagValue tagName="hibernate.map" paramName="cascade" values="none,all,save-update,delete,all-delete-orphan,delete-orphan" default="none"/>"
           <XDtMethod:ifHasMethodTag tagName="hibernate.map" paramName="order-by">
             order-by="<XDtMethod:methodTagValue tagName="hibernate.map" paramName="order-by" />"
@@ -205,9 +205,9 @@
           <XDtMethod:ifHasMethodTag tagName="hibernate.array" paramName="element-class">
             element-class="<XDtMethod:methodTagValue tagName="hibernate.array" paramName="element-class" />"
           </XDtMethod:ifHasMethodTag>
-          <XDtConfig:ifConfigParamEquals paramName="version" value="2.0">
+          <XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="2.0">
             inverse="<XDtMethod:methodTagValue tagName="hibernate.array" paramName="inverse"  values="true,false" default="false"/>"
-          </XDtConfig:ifConfigParamEquals>
+          </XDtConfig:ifConfigParamGreaterOrEquals>
             cascade="<XDtMethod:methodTagValue tagName="hibernate.array" paramName="cascade" values="none,all,save-update,delete" default="none"/>"
           <XDtMethod:ifHasMethodTag tagName="hibernate.array" paramName="where">
             where="<XDtMethod:methodTagValue tagName="hibernate.array" paramName="where" />"
Index: modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-subclass.xdt
===================================================================
RCS file: /home/cvs/repositories/shopdev/java/xdoclet/modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-subclass.xdt,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-subclass.xdt	8 Apr 2005 12:18:37 -0000	1.1.1.1
+++ modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate-subclass.xdt	8 Apr 2005 15:31:19 -0000	1.2
@@ -4,10 +4,10 @@
         <XDtHibernate:logMapping/>
         <subclass
             name="<XDtClass:fullTransformedClassName />"
-          <XDtConfig:ifConfigParamEquals paramName="version" value="2.0">
+          <XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="2.0">
             dynamic-update="<XDtClass:classTagValue tagName="hibernate.subclass" paramName="dynamic-update" default="false" />"
             dynamic-insert="<XDtClass:classTagValue tagName="hibernate.subclass" paramName="dynamic-insert" default="false" />"
-          </XDtConfig:ifConfigParamEquals>
+          </XDtConfig:ifConfigParamGreaterOrEquals>
           <XDtClass:ifHasClassTag tagName="hibernate.subclass" paramName="lazy" superclasses="true">
             lazy="<XDtClass:classTagValue tagName="hibernate.subclass" paramName="lazy" values="true,false" />"
           </XDtClass:ifHasClassTag>
Index: modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate.xdt
===================================================================
RCS file: /home/cvs/repositories/shopdev/java/xdoclet/modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate.xdt,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate.xdt	8 Apr 2005 12:18:37 -0000	1.1.1.1
+++ modules/hibernate/src/xdoclet/modules/hibernate/resources/hibernate.xdt	8 Apr 2005 15:31:19 -0000	1.2
@@ -35,12 +35,12 @@
       <XDtClass:ifHasClassTag tagName="hibernate.class" paramName="polymorphism" superclasses="false">
         polymorphism="<XDtClass:classTagValue tagName="hibernate.class" paramName="polymorphism" values="explicit,implicit" />"
       </XDtClass:ifHasClassTag>
-      <XDtConfig:ifConfigParamEquals paramName="version" value="2.0">
+      <XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="2.0">
         dynamic-update="<XDtClass:classTagValue tagName="hibernate.class" paramName="dynamic-update" values="true,false" default="false" />"
         dynamic-insert="<XDtClass:classTagValue tagName="hibernate.class" paramName="dynamic-insert" values="true,false" default="false" />"
         select-before-update="<XDtClass:classTagValue tagName="hibernate.class" paramName="select-before-update" values="true,false" default="false" />"
         optimistic-lock="<XDtClass:classTagValue tagName="hibernate.class" paramName="optimistic-lock" values="version,none,all,dirty" default="version"/>"
-      </XDtConfig:ifConfigParamEquals>
+      </XDtConfig:ifConfigParamGreaterOrEquals>
       <XDtClass:ifHasClassTag tagName="hibernate.class" paramName="mutable" superclasses="false">
         mutable="<XDtClass:classTagValue tagName="hibernate.class" paramName="mutable" values="true,false" />"
       </XDtClass:ifHasClassTag>
@@ -232,6 +232,19 @@
         <XDtHibernate:forAllSubclasses>
             <XDtClass:forAllClassTags tagName="hibernate.query" superclasses="false">
                 <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-query.xdt">
+                </XDtMerge:merge>
+            </XDtClass:forAllClassTags>
+        </XDtHibernate:forAllSubclasses>
+    </XDtClass:pushClass>
+
+    <XDtClass:pushClass value="<XDtCollection:get name='backupClass' key='oldClassName' />">
+        <XDtClass:forAllClassTags tagName="hibernate.sql-query" superclasses="false">
+            <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-sql-query.xdt">
+            </XDtMerge:merge>
+        </XDtClass:forAllClassTags>
+        <XDtHibernate:forAllSubclasses>
+            <XDtClass:forAllClassTags tagName="hibernate.sql-query" superclasses="false">
+                <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-sql-query.xdt">
                 </XDtMerge:merge>
             </XDtClass:forAllClassTags>
         </XDtHibernate:forAllSubclasses>
Index: modules/hibernate/src/xdoclet/modules/hibernate/resources/jboss-service.xdt
===================================================================
RCS file: /home/cvs/repositories/shopdev/java/xdoclet/modules/hibernate/src/xdoclet/modules/hibernate/resources/jboss-service.xdt,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- modules/hibernate/src/xdoclet/modules/hibernate/resources/jboss-service.xdt	8 Apr 2005 12:18:37 -0000	1.1.1.1
+++ modules/hibernate/src/xdoclet/modules/hibernate/resources/jboss-service.xdt	8 Apr 2005 15:31:19 -0000	1.2
@@ -19,10 +19,24 @@
      <XDtConfig:ifHasConfigParam paramName="password">
        <attribute name="Password"><XDtConfig:configParameterValue paramName="password"/></attribute>
      </XDtConfig:ifHasConfigParam>
-     <XDtConfig:ifHasConfigParam paramName="useouterjoin">
-       <attribute name="UseOuterJoin"><XDtConfig:configParameterValue paramName="useOuterJoin"/></attribute>
-     </XDtConfig:ifHasConfigParam>
+     
+   	 <XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="3.0">
+       <attribute name="ShowSqlEnabled"><XDtConfig:configParameterValue paramName="showSql"/></attribute>
+       <XDtConfig:ifHasConfigParam paramName="cacheProvider">
+       <attribute name="CacheProviderClass"><XDtConfig:configParameterValue paramName="cacheProvider"/></attribute>
+       </XDtConfig:ifHasConfigParam>
+     </XDtConfig:ifConfigParamGreaterOrEquals>
+    
+   	 <XDtConfig:ifConfigParamNotGreaterOrEquals paramName="version" value="3.0">
        <attribute name="ShowSql"><XDtConfig:configParameterValue paramName="showSql"/></attribute>
+       <XDtConfig:ifHasConfigParam paramName="cacheProvider">
+       <attribute name="CacheProvider"><XDtConfig:configParameterValue paramName="cacheProvider"/></attribute>
+       </XDtConfig:ifHasConfigParam>
+       <XDtConfig:ifHasConfigParam paramName="useouterjoin">
+       <attribute name="UseOuterJoin"><XDtConfig:configParameterValue paramName="useOuterJoin"/></attribute>
+       </XDtConfig:ifHasConfigParam>
+     </XDtConfig:ifConfigParamNotGreaterOrEquals>
+
      <XDtConfig:ifHasConfigParam paramName="userTransactionName">
        <attribute name="UserTransactionName"><XDtConfig:configParameterValue paramName="userTransactionName"/></attribute>
      </XDtConfig:ifHasConfigParam>
@@ -31,9 +45,6 @@
      </XDtConfig:ifHasConfigParam>
      <XDtConfig:ifHasConfigParam paramName="transactionManagerStrategy">
        <attribute name="TransactionManagerLookupStrategy"><XDtConfig:configParameterValue paramName="transactionManagerStrategy"/></attribute>
-     </XDtConfig:ifHasConfigParam>
-     <XDtConfig:ifHasConfigParam paramName="cacheProvider">
-       <attribute name="CacheProvider"><XDtConfig:configParameterValue paramName="cacheProvider"/></attribute>
      </XDtConfig:ifHasConfigParam>
 	<XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="2.1">
      <XDtConfig:ifHasConfigParam paramName="maxFetchDepth">

Reply via email to