Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou utilizando Hibernate para fazer a persistência com o BD e estou querendo fazer uma consulta dinâmica, mas não sei como. Já pesquisei em vários tópicos mas até agora nada e aqui estou eu.
Meu problema é simples, desejo fazer uma consulta no banco de acordo com a escolha do usuário. Ex: ele escolhe filtrar produtos por tipos, então o sistema vai lá no banco, pega todos os tipos existentes e disponibiliza-os para o usuário escolher.
Aqui está a tabela Produto: /applications/core/interface/imageproxy/imageproxy.php?img=http://oi61.tinypic.com/2chuamu.jpg&key=c565944a76f6d0afac6067cde38124796ac1416a3d09d6a59e6e043099990656" alt="2chuamu.jpg" />
O problema não é esse, o problema é saber o que o usuário vai pedir.
Por exemplo:
Se o usuário selecionar "Tipos", ele retorna todos os tipos cadastrados;
Se o usuário selecionar "Preço", ele retorna todos os preços cadastrados;
...
Eu não posso fazer "select tipo from produto" porque só vai me retornar os tipos, e se for selecionado o preço?
Também já tentei passar a escolha do usuário por parâmetro, mas foje da sintaxe. E nenhum valor é estático, quem vai cadastrar os tipos, valores... são os usuários.
https://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html
Seção 14.14 a 14.16. Estude os named parameters. É o que você precisa.
Valeu irmão, vou dar uma estudada :D
Se o valor da coluna "tipo" é fixo, você deveria ter um enumerado no seu projeto que abstraísse os valores possíveis. Há também a possibilidade - porém não recomendada - de se criar uma tabela de tipos. Daí a consulta seria feita nela.
select nome from tipos
Como está hoje, seria o caso de se fazer uma busca distinta para tipos de produtos.
select distinct tipo from produto