Problema com @NamedQuery [RESOLVIDO]

2 respostas
W

Bom dia galera,

Seguinte...

estou iniciando c/ JPA + Hibernate, e estou tendo o seguinte problema...

quando eu coloco uma @NamedQuery na minha classe @Entity e mando rodar o sistema, quando passa pela linha:

sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();

acontece uma exception, se eu tiro essa @NamedQuery, ao passar pela mesma linha ñ acontece a exception e segue rodando o sistema.. gostaria de saber se ao utilizarmos @NamedQuery é preciso acrescentar algo no arquivo de config do Hibernate... vou mandar alguns trechos do código p/ facilitar.

Classe Produtos (Entity)

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

@Entity
@Table(name="tbl_produto")
@NamedQuery(name="produtoPorID", query="select Produto from Produto where Produto.id=:id")
public class Produto implements Serializable {

...

}

Classe HibernateUtil (Cria sessão c/ o Hibernate)

import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

public class HibernateUtil {
	private static final SessionFactory sessionFactory;
	static{
		try{
			sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
		}catch(Throwable e){
			System.err.println("Initial SessionFactory creation failed." + e);
			throw new ExceptionInInitializerError(e);
		}
	}
	public static SessionFactory getSessionFactory() {
		return sessionFactory;
	}
}

Bom acho q é isso... agradeço desde já a atenção de todos!! vlw!!

2 Respostas

vitenho

cara sua query está errada pelo que eu percebi

//Como está:

select Produto from Produto where Produto.id=:id

// Como tem quer ser

select p from Produto p where p.id=:id

valeu

W

cara… vlw… era isso mesmo!! hehe :smiley:

nossa, mas eu nunca imaginaria que um alias ia fazer tanta diferença assim!! mas é isso ae, vivendo e aprendendo!! vlw mesmo!!!

Criado 29 de julho de 2009
Ultima resposta 30 de jul. de 2009
Respostas 2
Participantes 2