Hello,
i'm trying to write a complex query builder for my application, using
Criteria and Criterions.
I'm dealing with this kind of query:
SELECT FROM Versions b, TicketVersions a, Tickets
WHERE (b.DESCRIPTION='PB_INC5' OR (b.DESCRIPTION='PB_INC4') AND
(a.VERSIONTYPE='Raised'))
AND Tickets.ID=a.TICKETID
AND a.VERSIONID=b.ID
this is built from this page of code:
_criteria.addAlias("a", TicketversionsPeer.TABLE_NAME);
_criteria.addAlias("b", VersionsPeer.TABLE_NAME);
_criteria.addJoin(TicketsPeer.ID, "a.TICKETID");
_criteria.addJoin("a.VERSIONID", "b.ID");
_criterion =
_criteria.getNewCriterion("b.DESCRIPTION",
"PB_INC5" ,
Criteria.EQUAL);
_criterion1 =
_criteria.getNewCriterion("b.DESCRIPTION",
"PB_INC4",
Criteria.NOT_EQUAL);
_criterion2 =
_criteria.getNewCriterion("a.VERSIONTYPE",
"Raised",
Criteria.EQUAL);
_criterion3 = _criterion.or(_criterion1);
_criterion4 = _criterion3.and(_criterion2)
i would expect the following SQL condition:
(b.DESCRIPTION='PB_INC5' OR b.DESCRIPTION='PB_INC4') AND
(a.VERSIONTYPE='Raised')
but i get this, quite different:
(b.DESCRIPTION='PB_INC5' OR (b.DESCRIPTION='PB_INC4') AND (a.VERSIONTYPE='Raised'))
somebody can tell me how to correctly set parenthesis order in the criterion?
thx in advance,
Fabio Daprile
************************************
W�rth Phoenix S.r.l.
Fabio Daprile
Via Kravogl 4
I-39100 Bolzano
Phone: +39 0471 564111 (direct 564066)
Fax: +39 0471 564122
mailto:[EMAIL PROTECTED]
http:// www.wuerth-phoenix.com
*************************************
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
- Re: Problem on building WHERE conditions with Criteria objec... Fabio Daprile
- Re: Problem on building WHERE conditions with Criteria ... Fabio Daprile
- Re: Problem on building WHERE conditions with Crite... Eric Emminger
