\CLASSE COM A RESPECTIVA NAMED QUERY
package jcalendario;
import java.util.Collection;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import <a href="http://javax.persistence.Id">javax.persistence.Id</a>;
import javax.persistence.ManyToMany;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
@Entity
@Table(name = “curso”)
@NamedQueries({
@NamedQuery(name = “Curso.findByIdCurso”, query = “SELECT c FROM Curso c WHERE c.idCurso = :idCurso”),
@NamedQuery(name = “Curso.findByDescricaoCurso”, query = “SELECT c FROM Curso c WHERE c.descricaoCurso = :descricaoCurso”)
})
public class Curso implements java.io.Serializable {
@Id
@GeneratedValue
@Column(name="id_curso")
private int idCurso;
@Column(name="descricao_curso", nullable = false)
private String decricaoCurso;
public int getIdCurso() {
return idCurso;
}
public void setIdCurso(int idCurso) {
this.idCurso = idCurso;
}
public String getDecricaoCurso() {
return decricaoCurso;
}
public void setDecricaoCurso(String decricaoCurso) {
this.decricaoCurso = decricaoCurso;
}
}
//USANDO A NAMED QUERY
Query query = session.getNamedQuery(“Curso.findByDescricaoCurso”);
query.setString(“descricaoCurso”, new String(“PRE UNIVERSITARIO”));
ArrayList l = new ArrayList();
l = (ArrayList) query.list();
Curso encontrado = (Curso) l.get(0);
System.out.println(encontrado.getIdCurso());
//ERRO
10:07:54,539 INFO SettingsFactory:313 - Named query checking : enabled
10:07:54,739 INFO SessionFactoryImpl:161 - building session factory
10:07:55,858 INFO SessionFactoryObjectFactory:82 - Not binding factory to JNDI, no JNDI name configured
10:07:56,495 ERROR SessionFactoryImpl:363 - Error in named query: Curso.findByDescricaoCurso
org.hibernate.QueryException: could not resolve property: descricaoCurso of: jcalendario.Curso [SELECT c FROM jcalendario.Curso c WHERE c.descricaoCurso = :descricaoCurso]
at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:44)
Exception in thread “main” org.hibernate.HibernateException: Errors in named queries: Curso.findByDescricaoCurso
at org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:365)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
at jcalendario.Main.main(Main.java:41)
at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:38)
at org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1362)
at org.hibernate.hql.ast.tree.FromElementType.getPropertyType(FromElementType.java:279)
at org.hibernate.hql.ast.tree.FromElement.getPropertyType(FromElement.java:386)
at org.hibernate.hql.ast.tree.DotNode.getDataType(DotNode.java:567)
at org.hibernate.hql.ast.tree.DotNode.prepareLhs(DotNode.java:241)
at org.hibernate.hql.ast.tree.DotNode.resolve(DotNode.java:188)
at org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:94)
at org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:90)
at org.hibernate.hql.ast.HqlSqlWalker.resolve(HqlSqlWalker.java:728)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1216)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.exprOrSubquery(HqlSqlBaseWalker.java:4041)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:3525)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:1762)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker.java:776)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:577)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:77)
at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:56)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
at org.hibernate.impl.SessionFactoryImpl.checkNamedQueries(SessionFactoryImpl.java:402)
at org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:352)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
at jcalendario.Main.main(Main.java:41)
ALGUEM PODERIA ME AJUDAR?!]
DESDE JA AGRADECO.