本帖最后由 cc585325 于 2013-03-21 14:39:30 编辑

解决方案 »

  1.   

    - -,你一个update语句,用find()方法?想想就知道错在哪
      

  2.   

    还有一个错误时,Hql的类要写在""外面,你这样只是字符串,不是类
      

  3.   

    应该是String hql=" update  News news set news.del=0 where news.id in (:"+idlist+")";
    有个冒号的。
      

  4.   

    您能帮我写个吗,感激不尽, 我这是现炒现卖啊,参照几个例子写的,转做java才3天
     hibernate3 api还没来得及去看。 
      

  5.   


    String hql=" update  News news set news.del=0 where news.id in ("+idlist+")";
        HibernateTemplate ht =this.getHibernateTemplate(); 
        int ret=ht.executeUpdate(hql); //int返回是成功修改了多少条数据的数量试试看吧
      

  6.   

    Session session=this.getHibernateTemplate().getSessionFactory().openSession();
    try{
    session.createSQLQuery("sql语句").executeUpdate();
    }finally {
    this.releaseSession(session);
    }
      

  7.   

    @6楼,
    我的ht对象找不到executeUpdate这个方法啊. 是不是hibernate版本的问题呢 
      

  8.   

    @7楼 
    int result=0;
    Session session=this.getHibernateTemplate().getSessionFactory().openSession();
            try{
             result= session.createSQLQuery("update News set del=0 where id in("+idlist+")").executeUpdate();
            }finally {
                this.releaseSession(session);
            }
            return result>0;
    还是异常了,createSQLQuery这个方法的参数是sql 还是hql呀
      

  9.   

    还出问题的话,就是sql语法的问题
      

  10.   

    是sql语句 , 问题在于 表名写错了, hibernate的给我们生成的表前面加了一个t_,表名应该为t_news.3q各位的回答!