ok. I have no idea what "jira" is. Could you give me the link?

On 3/10/06, Jakob Braeuchi <[EMAIL PROTECTED]> wrote:
> hi vasily,
>
> you're right. we do not support ordering by subquery.
> you can open a feature request on jira.
>
> jakob
>
> Vasily Ivanov schrieb:
> > Hi Jakob,
> >
> > As I understand, report subquery (with Criteria.PARENT_QUERY_PREFIX +
> > "id") can be used only in WHERE clause (Criteria class), but not in
> > ORDER BY clause. Have a look:
> > QueryByCriteria.addOrderBy(String, boolean)
> > QueryByCriteria.addOrderBy(FieldHelper)
> > QueryByCriteria.addOrderByAscending(String)
> > QueryByCriteria.addOrderByDescending(String)
> >
> > ... no methods to add report subquery. :(
> >
> > On 3/9/06, Jakob Braeuchi <[EMAIL PROTECTED]> wrote:
> >
> >>hi vasily,
> >>
> >>you can use Criteria.PARENT_QUERY_PREFIX to prefix an attribute of the
> >>subquery. see QueryTest#testSubQuery3 and testSubQuery4.
> >>
> >>but i've to admit i nver tried it with addOrderBy().
> >>
> >>hth
> >>jakob
> >>
> >>
> >>Vasily Ivanov schrieb:
> >>
> >>>Hi All,
> >>>
> >>>I've got two classes:
> >>>class Parent:
> >>>  int id
> >>>  String data
> >>>  Collection children
> >>>class Child:
> >>>  int id
> >>>  String data
> >>>  int parentId
> >>>  Parent parent
> >>>
> >>>I need to get collection of parents sorted by the number of children,
> >>>but I didn't find any way to put Report Query to "ORDER BY" statement.
> >>>Here is the code that works:
> >>>
> >>>
> >>>>QueryByCriteria query = QueryFactory.newQuery(Parent.class, new 
> >>>>Criteria());
> >>>>query.addOrderByDescending("(SELECT count(1) FROM CHILD AAA WHERE
> >>>
> >>>AAA.PARENT_ID = A0.ID)");
> >>>
> >>>>persistenceManager.getBroker().getCollectionByQuery(query);
> >>>
> >>>This is generated sql:
> >>>
> >>>
> >>>>SELECT A0.ID, A0.DATA, (SELECT count(1)
> >>>
> >>>                                           FROM CHILD AAA
> >>>                                           WHERE AAA.PARENT_ID =
> >>>A0.ID) as ojb_col_3
> >>>
> >>>>FROM PARENT A0
> >>>>ORDER BY 3 DESC
> >>>
> >>>It works, but I don't like "addOrderByDescending" hard coded table
> >>>alias "A0". There should be the way to set report subquery as OrderBy
> >>>which should solve the problem.
> >>>I changed code to:
> >>>
> >>>
> >>>>query.addOrderByDescending("(SELECT count(1) FROM CHILD AAA WHERE 
> >>>>AAA.PARENT_ID = (id))");
> >>>
> >>>But it doesn't work because of "SqlHelper.splitPath()" I guess, it
> >>>doesn't substitute "(id)" by column name "A0.ID".
> >>>
> >>>Any help will be greatly appreciated.
> >>>
> >>>Regards,
> >>>  Vasily Ivanov
> >>>
> >>>---------------------------------------------------------------------
> >>>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>For additional commands, e-mail: [EMAIL PROTECTED]
> >>>
> >>>
> >>>
> >>
> >>---------------------------------------------------------------------
> >>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to