Thanks Mike. I’m currently using MySQL (and in the process of migrating to 
PostgreSQL) and there are ways to do this with both DBs directly. Just though 
it was worthwhile to check if there was something in Cayenne for it so I could 
avoid using DB specific syntax :).

Cheers,
- hugi

// Hugi Thordarson
// http://www.loftfar.is/ <http://www.loftfar.is/>
// s. 895-6688



> On 8. ágú. 2015, at 14:43, Mike Kienenberger <mkien...@gmail.com> wrote:
> 
> I'm pretty sure you said you were using Oracle so you might be better
> off using an SQLTemplate with oracle-specific code to pull in all of
> these objects in one query, particularly if there might be a large
> number of them.
> 
> There's a bunch of different ways to do it, and I don't have direct
> access to how I've done it in the past (and it might have been under
> JPA in any case), but this link has one approach:
> 
> http://stackoverflow.com/questions/17358109/how-to-retrieve-all-recursive-children-of-parent-row-in-oracle-sql
> 
> Once you know what the SQL will look like, using SQLTemplate can
> generate a list of entities for you after executing the query.
> 
> On Sat, Aug 8, 2015 at 7:14 AM, Hugi Thordarson <h...@karlmenn.is> wrote:
>> Hi all.
>> 
>> Let’s say an entity has a self referencing relationship, resulting in two 
>> modeled relationship definitions in the entity called “parent” and 
>> “children” (hopefully pretty self-explanatory).
>> 
>> Using Cayenne, is it possible, given a record (a node in the tree) to 
>> perform a prefetch so that all child nodes are prefetched?
>> 
>> I’m currently doing this (where I just go as deep as I think the tree will 
>> be) which seems to work fine, but feels a little wonky :)
>> 
>> query.addPrefetch( Item.CHILDREN.joint() );
>> query.addPrefetch( Item.CHILDREN.dot( Item.CHILDREN ).joint() );
>> query.addPrefetch( Item.CHILDREN.dot( Item.CHILDREN ).dot( Item.CHILDREN 
>> ).joint() );
>> query.addPrefetch( Item.CHILDREN.dot( Item.CHILDREN ).dot( Item.CHILDREN 
>> ).dot( Item.CHILDREN ).joint() );
>> 
>> Cheers,
>> - hugi
>> 
>> // Hugi Thordarson
>> // http://www.loftfar.is/ <http://www.loftfar.is/>
>> // s. 895-6688

Reply via email to