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]

Reply via email to