是不是用了findBySql了? 更新操作返回int型类似如下:String hqlDelete = "delete Tag t where t.tag = :tagname and t.user.userid = :userid"
int deletedEntities = s.createQuery( hqlDelete )
    .setString( "tagname", tagname )
    .setString( "userid", userid )
    .executeUpdate();

解决方案 »

  1.   

    楼主 Hibernate里面可以直接更新一个对象的..用update(object)就可以了啊
    对对象的修改在其他地方完成不是很好吗?
      

  2.   

    super.getHibernateTemplate().find(hql);
      

  3.   

    是不是我用执行hql的语句的方法用错了 find返回是list 好像不能执行update语句啊
    update用什么方法啊
      

  4.   


    StringBuffer hqlUpdate = new StringBuffer();
            hqlUpdate.append("sql_update");
            hqlUpdate.append("sql_condition");

            Query query = getSession().createQuery(hqlUpdate.toString());
      

  5.   

    super.getHibernateTemplate().find(hql);这个不行
    但是spring提供了bulkUpdate,用bulkUpdate函数getHibernateTemplate().bulkUpdate(hql)
      

  6.   

    t = session.beginTransaction(); 
    String hql="update Temprelativecard set start=0 where tempRelativeCardId="+id.toString(); 
    Query q = session..createQuery(hql);
    int ret_tmp= q.executeUpdate();
     t.commit();