JPA - Como chamar uma Named Query?

6 respostas
karpyn

Pessoal, estou desenvolvendo uma aplicação usando JPA e JSF. Gostaria de utilizar as named queries que o NetBeans criou para mim. Gostaria de saber como chamar essas named queries. Alguem poderia me ajudar? ficaria muito grato! Segue abaixo o meu entity:

@Entity @Table(name = "funcionario") @NamedQueries({ @NamedQuery(name = "Funcionario.findAll", query = "SELECT f FROM Funcionario f"), @NamedQuery(name = "Funcionario.findByMatricula", query = "SELECT f FROM Funcionario f WHERE f.matricula = :matricula"), @NamedQuery(name = "Funcionario.findByNome", query = "SELECT f FROM Funcionario f WHERE f.nome = :nome"), @NamedQuery(name = "Funcionario.findByCpf", query = "SELECT f FROM Funcionario f WHERE f.cpf = :cpf"), @NamedQuery(name = "Funcionario.findByRg", query = "SELECT f FROM Funcionario f WHERE f.rg = :rg"), @NamedQuery(name = "Funcionario.findByEstadoCivil", query = "SELECT f FROM Funcionario f WHERE f.estadoCivil = :estadoCivil"), @NamedQuery(name = "Funcionario.findByNacionalidade", query = "SELECT f FROM Funcionario f WHERE f.nacionalidade = :nacionalidade"), @NamedQuery(name = "Funcionario.findByNaturalidade", query = "SELECT f FROM Funcionario f WHERE f.naturalidade = :naturalidade"), @NamedQuery(name = "Funcionario.findByDataNascimento", query = "SELECT f FROM Funcionario f WHERE f.dataNascimento = :dataNascimento"), @NamedQuery(name = "Funcionario.findByDataAdmicao", query = "SELECT f FROM Funcionario f WHERE f.dataAdmicao = :dataAdmicao"), @NamedQuery(name = "Funcionario.findByDataDesligamento", query = "SELECT f FROM Funcionario f WHERE f.dataDesligamento = :dataDesligamento"), @NamedQuery(name = "Funcionario.findByMotivoDesligamento", query = "SELECT f FROM Funcionario f WHERE f.motivoDesligamento = :motivoDesligamento"), @NamedQuery(name = "Funcionario.findByConceitoAtitude", query = "SELECT f FROM Funcionario f WHERE f.conceitoAtitude = :conceitoAtitude")})

6 Respostas

Markus_Alemao
Query query = session.getNamedQuery("nome_da_query");
karpyn

Só isso? mas como eu passo os parametros de busca?

Markus_Alemao

quase certeza que é isso …fiz de cabeça …mas tenta ai …

query.setParameter("parametro", valor);
karpyn

Pow, nao tá rolando por causa desse session. eu to usando entity manager para conectar com o BD. sabe fazer com o entitymanager?

Markus_Alemao

segue o link :
http://download.oracle.com/docs/cd/B31017_01/web.1013/b28221/ent30qry001.htm

karpyn

Cara, obrigado pela ajuda. mas a ideia ainda está muito vaga para mim. Alguem poderia me fornecer um exemplo de como fazer isso? esses exemplos que a oracle não é complicado de entender. Abs

Criado 5 de março de 2011
Ultima resposta 5 de mar. de 2011
Respostas 6
Participantes 2