Olá pessoal do PJ,
estou começando em Java, e preciso que UM campo no Formulario,
faça a pesquisa em DOIS campos no Banco. Utilizei um código semelhante ao código abaixo, ele compila certinho mas não me retorna
nada quando eu rodo, não sei qual o codigo SQL que é gerado pois executo a classe direto em um servidor de teste.
Buscando apenas em um campo do BD foi sem problemas mas como eu não tenho experiencia em JAVA, estou com um pouco de dificuldade para buscar em mais um campo.
if (filter.getTelefone() != null
&& filter.getTelefone().trim().length() > 0) {
criteria.add(Expression.like("cliente.telefone1", "%"
+ filter.getTelefone().replaceAll(" ", "%") + "%"));
criteria.add(Expression.like("cliente.telefone2", "%"
+ filter.getTelefone().replaceAll(" ", "%") + "%"));
}
Desde já,
Obrigado!
Nussa kra… não entendi muito o q vc quer… :???:
Mas faz um debug do código ai brow… vai ver vc acha
Vejamos se entendi
Quando voce executa apenas um comando sql da certo e quando executa dois não retorna nada E NÃO é gerado nem um erro de compilação ou runtime. Se for isso é porque eve haver algum erro em seu algoritimo.
Se não for posta aqui no forum de novo, mais bem explicado que o pessoal aqui responde…
Se eu digito um telefone na página e mando buscar, o código abaixo é executado e ele me retorna os dados do cliente que tem esse telefone cadastrado na tabela CLIENTE campo TELEFONE1.
Eu quero saber qual sintaxe eu devo usar para que ele busque o telefone do cliente em TELEFONE1 e TELEFONE2 da tabela.
Eu tentei o código acima e não deu erro nenhum. Só que também não me retornou nada, tentei com dois blocos if mudando só Expression.like para cliente.telefone2, mas aconteceu a mesma coisa.
if (filter.getTelefone() != null
&& filter.getTelefone().trim().length() > 0) {
criteria.add(Expression.like("cliente.telefone1", "%"
+ filter.getTelefone().replaceAll(" ", "%") + "%"));
}
Obrigado!
Resolvido
if (filter.getTelefone() != null
&& filter.getTelefone().trim().length() > 0) {
criteria.add(Expression.or(
Expression.like("cliente.telefone1", "%"
+ filter.getTelefone().replaceAll(" ", "%") + "%"),
Expression.like("cliente.telefone2", "%"
+ filter.getTelefone().replaceAll(" ", "%") + "%")));
}
Valeu!