The docs for findAll() claim that is will "Query all managed POJO objects under the id recursively.". But then it also says "In addition, it assumes that once a POJO is found with a id, no more POJO is stored under the children of the id." If it doesn't always work recursively, what is the point of findAll()? I have a situation where I would like for it to continue searching all of the children even if there is an object attached higher up in the hierarchy.
So, for this example, I would want it to return o1, o2 and o3, not just o1:
cache.attach( "/a/b", o1 );
cache.attach( "/a/b/c", o2 );
cache.attach( "/a/b/d", o3 );
Any chance another findAll() API could be added that lets me pass a flag to say if I want it to continue searching recursively even if it finds an object higher in the hierarchy?
Sure, I created a feature request for this:
http://jira.jboss.org/jira/browse/PCACHE-69
The reason for stopping is historical. POJO Cache used to store fields as sub nodes. This is no longer the case today.