Try this ...

1) When using the entityCMP under EJB spec 2.0 We should iqnore the
relations tag and there is no need to re-create the persistant fields

2) I've added support for the declared-sql clause in jboss. The tag
syntax is the same as the finder, so

@ejb:finder signature="Transferhead findCurrent(int
company_id,java.lang.String application,java.lang.String module)"
query="SELECT object(t) FROM transferhead t WHERE t.company_id=?1"
result-type="Remote"

@jboss:declared-sql signature="Transferhead findCurrent(int
company_id,java.lang.String application,java.lang.String module)"
where="company_id={0} and application={1} and module={2}"
order="datestamp desc" other="limit 1"

The current options are where,order and other


--- entitycmp.j Mon Nov 12 10:24:40 2001
+++ entitycmp.j.dave    Sat Nov 10 12:58:31 2001
@@ -85,14 +85,6 @@
    public abstract int getVersion();
    public abstract void setVersion( int version );
   </XDtEjbBmp:ifUseSoftLocking>
-
-  <XDtEjbPersistent:forAllPersistentFields>
-   public abstract <XDtMethod:methodType/> <XDtMethod:getterMethod/>() 
<XDtMethod:exceptionList/>;
-   <XDtMethod:ifHasMethod name="<XDtMethod:setterMethod/>" 
parameters="<XDtMethod:methodType/>">
-   public abstract void <XDtMethod:setterMethod/>( <XDtMethod:methodType/> 
<XDtMethod:propertyName/> ) <XDtMethod:exceptionList 
method="<XDtMethod:setterMethod/>"/>;
-   </XDtMethod:ifHasMethod>
-
-  </XDtEjbPersistent:forAllPersistentFields>
  </XDtEjbCmp:ifUsingCmp2>
 
  <XDtEjbDataObj:ifIsWithDataContainer>
@@ -199,6 +191,7 @@
   </XDtEjbDataObj:ifIsWithDataContainer>
  </XDtEjbDataObj:forAllSuperSetData>
 
+  <XDtEjbCmp:ifNotUsingCmp2>
  <XDtMethod:forAllMethods>
   <XDtMethod:ifHasMethodTag tagName="ejb:relationship">
    <XDtMethod:forAllMethodTags tagName="ejb:relationship">
@@ -222,6 +215,7 @@
    </XDtMethod:forAllMethodTags>
   </XDtMethod:ifHasMethodTag>
  </XDtMethod:forAllMethods>
+  </XDtEjbCmp:ifNotUsingCmp2>
 
   <XDtEjbCmp:ifNotUsingCmp2>
    public boolean isModified()
--- jboss-jaws_xml.j    Mon Nov 12 10:24:40 2001
+++ jboss-jaws_xml.j.dave       Mon Nov 12 08:41:07 2001
@@ -71,6 +71,55 @@
          </cmp-field>
         </XDtClass:forAllClassTags>
 
+       <XDtConfig:ifConfigParamGreaterOrEquals paramName="EjbSpec" value="2.0">
+   <XDtType:ifIsOfType type="javax.ejb.EntityBean">
+     <XDtEjbCmp:ifEntityIsCmp>
+      <XDtClass:forAllClassTags tagName="jboss:declared-sql">
+       <XDtClass:ifHasClassTag tagName="jboss:declared-sql" paramName="signature">
+         <query>
+            <query-method>
+               <method-name><XDtClass:classTagValue tagName="jboss:declared-sql" 
+paramName="signature" delimiter=" (" tokenNumber="1"/></method-name>
+               <method-params>
+                 <XDtParameter:forAllParameterTypes paramName="signature">
+                  <method-param><XDtParameter:currentToken/></method-param>
+                 </XDtParameter:forAllParameterTypes>
+               </method-params>
+            </query-method>
+
+           <XDtClass:ifHasClassTag tagName="jboss:declared-sql" paramName 
+="result-type-mapping">
+            <result-type-mapping><XDtClass:classTagValue tagName 
+="jboss:declared-sql" paramName="result-type-mapping" values 
+="Local,Remote"/></result-type-mapping>
+           </XDtClass:ifHasClassTag>
+
+                                               <declared-sql>
+                                                       <XDtClass:ifHasClassTag 
+tagName="jboss:declared-sql" paramName="where">
+                                                               <where>
+                                                                       <![CDATA[
+                               <XDtClass:classTagValue tagName="jboss:declared-sql" 
+paramName="where"/>
+                                                                       ]]>
+                                                               </where>
+                                                       </XDtClass:ifHasClassTag>
+                                                       <XDtClass:ifHasClassTag 
+tagName="jboss:declared-sql" paramName="order">
+                                                               <order>
+                                                                       <![CDATA[
+                               <XDtClass:classTagValue tagName="jboss:declared-sql" 
+paramName="order"/>
+                                                                       ]]>
+                                                               </order>
+                                                       </XDtClass:ifHasClassTag>
+                                                       <XDtClass:ifHasClassTag 
+tagName="jboss:declared-sql" paramName="other">
+                                                               <other>
+                                                                       <![CDATA[
+                               <XDtClass:classTagValue tagName="jboss:declared-sql" 
+paramName="other"/>
+                                                                       ]]>
+                                                               </other>
+                                                       </XDtClass:ifHasClassTag>
+                                               </declared-sql>
+         </query>
+       </XDtClass:ifHasClassTag>
+      </XDtClass:forAllClassTags>
+     </XDtEjbCmp:ifEntityIsCmp>
+   </XDtType:ifIsOfType>
+  </XDtConfig:ifConfigParamGreaterOrEquals>
+
        <XDtClass:forAllClassTags tagName="jboss:finder-query">
          <finder>
             <name><XDtClass:classTagValue tagName="jboss:finder-query" 
paramName="name"/></name>

Reply via email to