Preciso buscar o email de clientes para facilitar para enviar email:
this.session.createQuery("SELECT nome, email FROM Cliente WHERE nome LIKE ?")
.setString(0, "%"+nome+"%")
.list()
Porém, também tenho os emails de outros contatos, …
Para facilitar coloco um campo extra tipo para definir de onde está vindo esse email.Ex:
“Rafael”, "[email removido]", “Cliente”
“Teste”, "[email removido]", “Outro Contato”
No entanto, esse campo não existe no banco de dados(não posso colocar no select da query). O que eu faço, para cada uma das listas pesquisadas antes de inclui-la em uma lista maior (com todos os emails), é colocar essa propriedade manualmente:
E fazia essa “filtragem” no front-end:
for each ( var arr:Array in l l ){
arr['tipo'] = "Cliente";
}
Porém, eu queria fazer tudo na mesma query para melhorar a perfomance, tenho como fazer algo semelhante a isso:
this.session.createQuery("SELECT nome, email, tipo = 'Cliente' FROM Cliente WHERE nome LIKE ?")
.setString(0, "%"+nome+"%")
.list()
Fazer uma busca ‘predefinindo’ o preenchimento de um campo :S