I suspected as much, since it’s a rather specialized case that requires 
different dialects for most DBs.


> On 8. ágú. 2015, at 18:54, Mike Kienenberger <mkien...@gmail.com> wrote:
> 
> There's nothing in Cayenne that supports hierarchical or recursive
> queries yet.   I'm sure we'd accept patches to add a new Expression
> type to do so, although it'll probably only work for a select set of
> databases.
> 
> On Sat, Aug 8, 2015 at 2:05 PM, Hugi Thordarson <h...@karlmenn.is> wrote:
>> 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