NamedQuery

3 respostas
Foxlol

Galera, alguém saberia como posso criar uma query dinâmica? Sem saber os campos com que quero fazer o filtro em tempo de desenvolvimento?

Ex:

@NamedQuery(name = "Bonus.bonusFilter", query = "select o from Bonus o where :parameter LIKE :value")

Onde o :parameter seria o campo o qual quero fazer o filtro, setando seu valor como :value

Valeu!

3 Respostas

J

Um exemplo de uma query minha. Ve se ajuda

@NamedQuery(name="Disciplina.listaDisciplinaNome", query="SELECT d.ID, d.codigo, d.nome_curto, d.nome_completo FROM Disciplina d WHERE d.nome_completo like ?1")
String nome = ¨Programacao¨;
List<Object[]>  disciplinas = em.createNamedQuery("Disciplina.listaDisciplinaNome")
                                        .setParameter("1", "%" + nome + "%").getResultList();
Foxlol

Entaum java++

Eu queria poder passar o atributo “d.nome completo” da cláusula WHERE em tempo de execução, e naum deixar ele setado no código. Assim poderia fazer filtro com qualquer atributo que quisesse.

Eu consegui usando um createQuery do EntityManager…mas gostaria de saber se eh possivel utilizando namedQueries.

Obrigado.

J

As query criada em createQuery podem ser transformadas em namedQueries, com certeza.

Criado 20 de agosto de 2007
Ultima resposta 24 de ago. de 2007
Respostas 3
Participantes 2