I'm attempting EJB-inheritance, but ejb-jar.xml does not generate properly using
xdoclet 1.2.0 beta.
I have two beans:
1. TypeBean
- Primary key: Integer typeId
* @ejb:finder signature="java.util.Collection findAll()"
* unchecked="true"
* query="SELECT DISTINCT OBJECT(i) FROM Type i WHERE i.typeId IS NOT
NULL"
* result-type-mapping="Local"
2. ObjectTypeBean extends TypeBean
- using the primary key of the superclass.
* @ejb:finder
* signature="java.util.Collection findAll()"
* unchecked="true"
* query="SELECT DISTINCT OBJECT(t) FROM ObjectType t WHERE t.typeId IS NOT NULL"
* result-type-mapping="Remote"
* @ejb.interface extends="blabla.interfaces.Type"
* local-extends="blabla.interfaces.TypeLocal"
* @ejb.home extends="javax.ejb.EJBHome"
* local-extends="javax.ejb.EJBLocalHome"
When generating the descriptor-files I get the following:
ObjectType-ejb has two findAll-methods. One that uses the schema-name of it's super,
duplicating the first (and correct) findAll-method.
<entity>
......
<query>
<query-method>
<method-name>findAll</method-name>
<method-params>
</method-params>
</query-method>
<result-type-mapping>Remote</result-type-mapping>
<ejb-ql><![CDATA[SELECT DISTINCT OBJECT(t) FROM ObjectType t WHERE
t.typeId IS NOT NULL]]></ejb-ql>
</query>
<query>
<query-method>
<method-name>findAll</method-name>
<method-params>
</method-params>
</query-method>
<result-type-mapping>Local</result-type-mapping>
<ejb-ql><![CDATA[SELECT DISTINCT OBJECT(i) FROM Type i WHERE i.typeId IS
NOT NULL]]></ejb-ql>
</query>
</entity>
-----------------------------
Why is the latter query method generated? Any workarounds, know-how or patches would
be nice.
Some other thing: Why does the ejb-home by default extend it's parent bean home?
Regards,
- Henning
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user