@NamedQuery - Like e order

3 respostas
D

Oi pessoal!!!

Estou usando @NamedQuery:

@NamedQuery(name = "Pacote.findByNome", query = "SELECT t FROM Tabela t WHERE t.nome LIKE :nome"),

Só que gostaria de saber como fazer a busca em qualquer local da palavra (em sql -> LIKE ‘%"+nome+"%’) e ordernar por Id (em sql->order by Id)

Resumindo gostaria de transformar esse SQL em @NamedQuery

Alguem pode me ajudar???

Obrigada :grin:

3 Respostas

K

Se voce manter seu @NamedQuery dessa forma, voce pode fazer assim:

Query select = sessao.getNamedQuery("SelecionaGrupoPorNome");
select.setString("nome", "%"+nome+"%");

Só uma coisa, esse atributo Query é do hibernate, não sei se vc o está usando, ou apenas a javax.persistence.

Mas se for, não deverá mudar muita coisa, vc deverá fazer algo parecido com a segunda linha.

Na Java Magazine deste mês, tem um artigo muito bom sobre isso.

Veja mais javax.persistence API

D

Era isso mesmo!!!
Obrigada!!!

Eu estou usando sim o JPA.

Então ficou assim do meu DAO:

Query query= manager.createNamedQuery("Pacpte.findByNome"); nome = "%"+nome+"%"; query.setParameter("nome",nome);

E NamedQuery ficou assim:

@NamedQuery(name = "Pacote.findByNome", query = "SELECT t FROM Tabela t WHERE t.nome LIKE :nome"),

Obrigada tb pelo link !!!

K

Precisando… o PJ ajuda! :grin:

Criado 3 de outubro de 2006
Ultima resposta 4 de out. de 2006
Respostas 3
Participantes 2