Problema com consulta jpa

6 respostas
batista.gerson

Ola pessoal estou com problema com uma consulta.
Sera q voce pederiam me ajudar??? Obrigado.

Como eu passo essa consulta para jpa

String SQL = "select f from fila f " +
                     "inner join fila_guiche fg on fg.id_fila = f.id_fila " +
                     "inner join guiche g on g.id_guiche = fg.id_guiche " +
                     "where f.situacao = 'A' and g.identificador = '"+identificadorGuiche+"' " +
                     "order by f.nome";

tentei assim ms nao da certo

"select f from Fila f" + 
"inner join f.guiche.idGuiche = Guiche.idGuiche"+
"inner join Guiche.fila.idFila = f.idFila "+
"where f.situaFila = 'A' and Guiche.identificador = '"+identificadorGuiche+"' " +
 "order by f.nomeFila";

6 Respostas

ivela

Olá!

Dê uma olhada neste artigo:

Abraços!!

Lord

Batista tenta fazer assim vê se da certo … mas posta o erro para podermos analisar …

String sql = "select f from Fila f" +   
   "inner join f.guiche.idGuiche = Guiche.idGuiche"+  
   "inner join Guiche.fila.idFila = f.idFila "+  
   "where f.situaFila = 'A' and Guiche.identificador = :identificadorGuiche " +  
   "order by f.nomeFila"; 

Query query = getSession().createQuery(hql);  
query.setParameter("identificadorGuiche", identificadorGuiche);

flw

Lord

Apenas corrigindo a partir da linha 8 (oito) …

Query query = getSession().createQuery(sql);    
query.setParameter("identificadorGuiche", identificadorGuiche);
batista.gerson

Oi pessoal

olha so lord com a consulta do jeito que vc me passou esta dando o seguinte erro:

line 1:87: unexpected token: =
line 1:134: unexpected token: =
13/07/2009 13:42:57 br.am.gov.prodam.view.guiche.GuicheView$7 run
SEVERE: null
java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: = near line 1, column 87 [select f from br.am.gov.prodam.fila.manager.entity.Fila finner join f.guiche.idGuiche = Guiche.idGuicheinner join Guiche.fila.idFila = f.idFila where f.situaFila = 'A' and Guiche.identificador = 'G001'order by f.nomeFila]
Lord

Batista vc esta utilizando SQL nativo ou HQL ??

batista.gerson

eu to usando jpa + hibernate
consegui resolver com queryNative
vou postar ai

String sql = "select f.* from fila f"+
                    " inner join fila_guiche fg on fg.id_fila = f.id_fila"+
                    " inner join guiche g on g.id_guiche = fg.id_guiche" +
                    " where f.situacao = 'A' and g.identificador = '"+identificadorGuiche+"'" +
                    " order by f.nome";

        Query q = entityManager.createNativeQuery(sql,Fila.class);
         List<Fila> rs = q.getResultList();

vlw lord pela força.

RESOLVIDO.

Criado 13 de julho de 2009
Ultima resposta 13 de jul. de 2009
Respostas 6
Participantes 3