Java Hibernate版本3.2.6;原因:org.hibernate.QueryException:无法解析属性:

Java Hibernate版本3.2.6;原因:org.hibernate.QueryException:无法解析属性:,java,sql,hibernate,Java,Sql,Hibernate,我的代码 @SuppressWarnings("unchecked") public List<RemboursementElement> validerRemboursement(String numDossier) { //List<RemboursementElement> l= getHibernateTemplate().find("from entite.RemboursementElement r where r.NUMERO_DOSSIER_RE

我的代码

@SuppressWarnings("unchecked")

public List<RemboursementElement> validerRemboursement(String numDossier) {
    //List<RemboursementElement> l= getHibernateTemplate().find("from entite.RemboursementElement r where r.NUMERO_DOSSIER_REM='"+numDossier+"'" );
    //return l;
    List<RemboursementElement> results = Lists.newArrayList();
    Session session=null;
    try {    StringBuilder hql = new StringBuilder();   
             hql.append("select ");
             hql.append(" tableRemboursement.NUMERO_DOSSIER_REM, "); 
             hql.append("tableRemboursement.MONTANT_REMBOURSE, "); 
             hql.append("tableRemboursement.ETAT_REMBOURSEMENT, ") ; 
             hql.append("tableRemboursement.MOTIF_REMBOURSEMENT  " );
             hql.append("from ");
             hql.append(RemboursementElement.class.getCanonicalName());
             hql.append("  as tableRemboursement ");
             hql.append(" where 1=1 and tableRemboursement.NUMERO_DOSSIER_REM =");
             hql.append("'"+numDossier+"'");
             hql.append("");

           //  Query query = getSession().createQuery(hql.toString());
              session=this.getSession();
              Query query = session.createQuery(hql.toString());
             query.setParameter("numDossier", numDossier);
             query.executeUpdate();

            List<RemboursementElement>  l= query.list();

            if(l.size()>0 && l.isEmpty()==false && l!=null) {
                if(l.iterator().hasNext()==true) {
                    results.addAll(l);
                }
            }else {
                System.out.println("liste vide !");
            }

            return results;

    } catch (QueryException e) {
       throw new HibernateQueryException(e);
    }
}
@SuppressWarnings(“未选中”)
公共列表validerRemboursement(字符串numDossier){
//List l=getHibernateTemplate().find(“从entite.RemboursementElement r,其中r.NUMERO_docsier_REM=”“+numDossier+””);
//返回l;
列表结果=Lists.newArrayList();
会话=空;
尝试{StringBuilder hql=new StringBuilder();
附加(“选择”);
hql.append(“tableRemboursement.NUMERO_档案”);
hql.append(“tableRemboursement.MONTANT_REMBOURSE,”);
hql.append(“tableRemboursement.ETAT_REMBOURSEMENT,”);
hql.append(“tableRemboursement.MOTIF_REMBOURSEMENT”);
hql.append(“from”);
append(RemboursementElement.class.getCanonicalName());
hql.追加(“作为附表”);
hql.append(“其中1=1,tableRemboursement.NUMERO_docsier_REM=”);
hql.append(“'”+numDossier+“'”);
hql.追加(“”);
//Query Query=getSession().createQuery(hql.toString());
session=this.getSession();
Query=session.createQuery(hql.toString());
setParameter(“numDossier”,numDossier);
query.executeUpdate();
List l=query.List();
如果(l.size()>0&&l.isEmpty()==false&&l!=null){
if(l.iterator().hasNext()==true){
结果:addAll(l);
}
}否则{
System.out.println(“liste vide!”);
}
返回结果;
}捕获(查询异常e){
抛出新的HibernateQueryException(e);
}
}

您形成的查询是两种东西的混合。 您正在查询格式化中设置参数,稍后还将使用setParameter函数,该函数将引发异常

在代码中,将
hq.append(““+numDossier+””)
替换为
hq.append(“:numDossier”)