Hello,

I don't know about criteria.or but you may try to do it with Criteria.Criterion
See:
http://db.apache.org/torque/criteria-howto.html
section "Using Criterion to use a Column twice in a Criteria"


Best regards,
Andras.

Daniel de los Reyes wrote:

Hello,

I am trying to make a query that may look like this :

SELECT *  FROM visibilidadevento WHERE
  visibilidadevento.IDPERSONAPRIMERAEJEC=40 OR
  visibilidadevento.IDAREAORIGEN=20         OR
  visibilidadevento.IDPROYECTO=100          OR
  visibilidadevento.HISTAREAID=10
ORDER BY visibilidadevento.IDEVENTO DES

(Watch the OR's)

In orther to get it, I am using Criteria this way :

crit.or(VisibilidadeventoPeer.IDPERSONAPRIMERAEJEC, params.getPersonId(), Criteria.EQUAL );
crit.or(VisibilidadeventoPeer.IDAREAORIGEN, params.getUserArea(), Criteria.EQUAL );


crit.add(VisibilidadeventoPeer.IDPROYECTO, params.getCbmcproyecto(), Criteria.EQUAL );
crit.or(VisibilidadeventoPeer.HISTAREAID, params.getUserArea(), Criteria.EQUAL );


crit.addDescendingOrderByColumn(VisibilidadeventoPeer.IDEVENTO);


However when Torque generates the query, all OR's get replaced by AND's!!!


SELECT * FROM visibilidadevento WHERE visibilidadevento.IDPERSONAPRIMERAEJEC=40 AND visibilidadevento.IDAREAORIGEN=20 AND visibilidadevento.IDPROYECTO=100 AND visibilidadevento.HISTAREAID=10 ORDER BY visibilidadevento.IDEVENTO DES

I have read Torque's docs about Criteria.OR and it says :

This method adds a new criterion to the list of criterias. If a criterion for the requested column already exists, it is "OR"ed to the existing criterion.

Does this mean I can't have an OR whith a single ocurrence of a table column?

How can this be done?





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



Reply via email to