【问题标题】:Hibernate version 3.2.6; Caused by: org.hibernate.QueryException: could not resolve property:休眠版本 3.2.6;引起:org.hibernate.QueryException:无法解析属性:
【发布时间】:2019-03-20 17:11:18
【问题描述】:

我的代码

@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);
    }
}

【问题讨论】:

    标签: java sql hibernate


    【解决方案1】:

    您形成的查询是两件事的混合。 您正在查询格式中设置参数,稍后您正在使用 setParameter 函数,这也会引发异常

    在您的代码中,将 hq.append("'"+numDossier+"'") 替换为 hq.append(":numDossier")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-25
      • 2015-09-22
      • 1970-01-01
      • 2016-04-28
      • 2016-02-26
      • 1970-01-01
      • 2013-07-25
      相关资源
      最近更新 更多