Short answer - the BMP bean returns the keys because that's what the spec says to do. It really _should_ verify that the keys passed in are valid, but hey, it's an example!

Long answer:
That method would be exposed to clients on GangserHome.findByPrimaryKeys(Collection keys);


The container intercepts that method and calls the BMP custom finder. The contract between container and BMP entity is such that the entity returns _keys_ from its 'ejbFindXXX' methods - the container is responsible for managing the creation of entities corresponding to the keys.

At a later point (maybe in the same transaction, maybe in a subsequent one - it all depends on the client code), ejbLoad will be called on any and all entities in the collection that are actually accessed. That is when the bulk of data will (should, per spec.) be loaded from the database.

Note that this means that for most finders, the database will be hit 1 (for the original query to determine which entities match) + N (once for each entity) times! This leads quickly to performance problems. To avoid this, either use CMP 2.0 entities, allowing the container to optimize the whole thing through read-ahead of entity data, or don't use entities at all.

hth,
-danch

[EMAIL PROTECTED] wrote:
Hi folks,

This snippet is taken from the JBOSSCMP docs. I can't understand how it returns the remote entities.It is a BMP custom finder.

public abstract class GangsterBean implements EntityBean {

public Collection ejbFindByPrimaryKeys(Collection keys) {

return keys;

}

}


It just seems to take in the keys collection and then return it straight back out again.
I'm confused cos I can't see where the container would intercept the call and
return the entities if the method is not declared abstract.




Thanks,

Mark.





-------------------------------------------------------
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to