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>