Re:Erro no HQL

Bom dia raikk0n3n,

Você poderia postar sua classe TesteHql.

Obrigada

Da uma olhada em como seu método esta retornando a lista, veja se ela não está nula.

Estou problema numa consulta:

Jul 17, 2012 2:11:31 AM org.hibernate.hql.ast.ErrorCounter reportError
Grave: line 1:1: unexpected token: listatrabalho
Exception in thread "main" java.lang.IllegalArgumentException: node to traverse cannot be null!
	at org.hibernate.hql.ast.util.NodeTraverser.traverseDepthFirst(NodeTraverser.java:31)
	at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:254)
	at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:157)
	at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
	at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
	at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
	at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
	at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
	at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
	at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
	at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:93)
	at br.med.fetus.beans.BeanGeneric.ListByDate(BeanGeneric.java:77)
	at br.med.fetus.beans.ListaTrabalhoBeans.findByDate(ListaTrabalhoBeans.java:58)
	at br.med.fetus.db.TesteHql.main(TesteHql.java:34)

NamedQuery

@Entity
@Table(name="listaTrabalho")

@NamedQuery(name="listatrabalho.data", query="select lt from ListaTrabalho as lt where lt.dataDia = :dataDia")
public class ListaTrabalho implements Serializable {
    
    @Id
    @GeneratedValue(strategy= GenerationType.AUTO)
    private Long id;
    @OneToOne
    private Prontuario prontuario;
    @Temporal(TemporalType.DATE)
    private Date dataDia;
    @Enumerated(EnumType.STRING)
    private TipoConsulta tipoConsulta;
    @Enumerated(EnumType.STRING)
    private HorarioConsulta horarioConsulta;
public class TesteHql {
    
    public static void main(String arg[]){
        
        
        
        SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd");  
     
        Date date = new Date();    
        s.format(date);
        
        ListaTrabalhoBeans ls = new ListaTrabalhoBeans();
        
        List<ListaTrabalho> lts = new ArrayList<ListaTrabalho>();
        
        lts = ls.findByDate("listatrabalho.data", "dataDia", date);
        
        for (ListaTrabalho lt : lts){
            System.out.println("Nome " + lt.getProntuario().getPaciente().getNome());
        }
                
        
        
    }

Resolvido

era um erro de atenção

Estava assim o metodo

 objects = manager.createQuery(namedQuery).setParameter(field, data).getResultList();

Na realidade o certo é assim!

 objects = manager.createNamedQuery(namedQuery).setParameter(field, data).getResultList();