Well, you can still have CMP beans and let a dedicated session bean do that work for you. Actually, that's what I would do. What I usually do is that I let a session bean do the work and retrieve only the primary keys of the matching entity beans and then I look up each entity bean using findByPrimaryKey, but it all depends on how the performance looks like on your server. To sum up, you still get to use CMP (if this is what you want) and you can have customized finders in ad-hoc session beans that retrieve entity beans for you instead of interacting directly with the entity bean itself.
My Linked In
Please do not shoot the fish in this barrel. But you can shoot at this tiny ad: