Marcel,

Fiz isso mas meu banco � Oracle:

and (($1 is null) or $canal = $1)
and (($2 is null) or $codTipoPublicacao = $2)
and (($3 is null) or upper($titulo) like concat('%',concat(upper($3),'%'))
                  or upper($resumo) like concat('%',concat(upper($3),'%'))
                  or upper($texto)  like concat('%',concat(upper($3),'%')) )
and (($4 is null) or $data >= $4)
and (($5 is null) or $data <= $5)

Esse concat acho que pode ser substitu�do por || no Oracle, pra ficar 

like '%'||upper($3)||'%'

Qq coisa estamos a�.

Sauda��es,

Nelson Troccoli Jr.
http://www.unitetch.com.br

-----Mensagem original-----
De: marcel [mailto:[EMAIL PROTECTED]]
Enviada em: ter�a-feira, 24 de setembro de 2002 07:52
Para: [EMAIL PROTECTED]
Assunto: [enterprise-list] problema com multiplos parametros no EJB-QL


Preciso criar um metodo finder que tenha um EJB-QL que receba 3 
parametros, todos eles usam "LIKE", porem os parametros podem ser ou nao 
passados.

Eu posso passar o primeiro e o terceiro parametro, mas passar o segundo 
vazio.

nao posso fazer um metodo finder para cada um senao teria q fazer uns 9 
finders por causa de cada combina��o de parametros que eu posso criar.
tambem tentei fazer algo do tipo "select o from tabela o where ?1" e 
passar como parametro os campos (o.campo1 like 'XXX%' and o.campo2 like 
'XXX%' and o.campo3 like 'XXX%'), mas ele me retorna um erro falando que 
"where must be a boolean expression"


---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para:
[EMAIL PROTECTED]

---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.391 / Virus Database: 222 - Release Date: 19/9/2002
 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.391 / Virus Database: 222 - Release Date: 19/9/2002
 

---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: 
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]

Responder a