Curt,

I don't know anybody that uses the vanilla findAll() in a cmp finder. In
orion, it is _extremely_ easy to add a customer finder findAll that has a
limit. Here is my findAll for Oracle(oracle doesn't have LIMIT):

<finder-method partial="false" query="select * from (select a.*, rownum rn
from (select somebean.* from somebean order by somebean.lastmodified desc) a
where rownum &lt; ($1 + $2) ) where rn &gt;= $1" >
<method>
<ejb-name>somebean</ejb-name>
<method-name>findAll</method-name>
<method-params>
<method-param>int</method-param>
<method-param>int</method-param>
</method-params>
</method>
</finder-method>

You could likewise use a stored procedure in the <finder-method> for even
greater speed.

With these finders, cmp _rocks_!

regards,

the elephantwalker
www.elephantwalker.com


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of Curt Smith
Sent: Thursday, April 04, 2002 9:21 AM
To: Orion-Interest
Subject: Re: CMP 2.0 vs BMP - Which performes better?



> There are several constraints to BMP beans which make them almost always
> perform slower than CMP beans.  In particular, the inability to bulk
> load beans from finder methods is a nearly fatal defect.


I'd like to know more of the details?

How does the container deal with the following finder in CMP
differently than BMP?

Collection remoteRefs = home.findSalaryGreaterThan ( "50,000");

Or what was the scenario you where refering to?

To me the finder returns a collection problem is but one of the
damning EJB achilies heals, in that the spec left out setting
the max row count to limit the find collection to.

How does CMP help the huge memory and CPU and JNDI hit that
a boundless findAll() causes?


Thanks, curt






Reply via email to