Duvida no uso JPA usando createQuery em condição variável!

2 respostas
P

Olá,

tenho uma tela onde vou ter a seguinte condição
list box onde terá um :

id que refere-se ao objeto usuário

estado que refere-se a objeto endereço

campo              condição         valor
   id                  >                 150


      ou


   estado              =                 "SP"

minha duvida como montar a query

se vier o codigo id preenchido faria assim


SELECT distinct(user) FROM usuario user  where user.id=6 


mas se vier o estado preenchido teria que usar assim :

SELECT distinct(user) FROM usuario user JOIN user.endereco end where end.estado ="SP"

e mais uma duvida na hora de passar essa variavel "estado" no jsp ela está como "est"
teria algum lugar que faria esse de para de "est" para estado como está no objeto ???

Ou existe uma forma que JPA faça isso direto ??? ou vou sempre que ter um if pra saber qual campo
foi preenchido pra tomar a decisão de montar a query ???

se alguém puder me ajudar agradeceria ???

abs

2 Respostas

A

Eu li algo parecido no livro EJB 3.0, no caso se o objeto um 1 for nulo ele procura pelo objeto 2. Infelizmente estou sem ele pra consultar.

Se você usa o or?

SELECT distinct(user) FROM usuario user JOIN user.endereco end where user.id=6  OR end.estado ='SP'
P

ai é que está se for escolhido o estado não vou montar com where id =6

e sim somente com where do estado =“SP”

se alguém já passou por isso e puder me ajudar …

abs

Criado 29 de dezembro de 2008
Ultima resposta 29 de dez. de 2008
Respostas 2
Participantes 2