public void deleteRoleFunctionsbyrole( final Serializable roleid) throws Exception  {
this.getHibernateTemplate().getSessionFactory()
.openSession()
.createSQLQuery("delete from role_function where role_id=?").setParameter(0, roleid);
}

解决方案 »

  1.   

    openSession的话,要关闭的session的
    错误信息呢?
      

  2.   

    this.getHibernateTemplate().getSessionFactory()
    .openSession()
    .createSQLQuery("delete from role_function where role_id=?  ").setParameter(0, roleid);
    语句编程规范    最好分开写!有时候运行会不通过。   将sql语句字符串  最后面加一个空格 
      

  3.   

    你的事物没提交,数据库肯定是删不掉的 !! 
    Session session=HibernateSessionFactory.getSession();
          String hql="delete People where id=:id";
          Transaction t=null;
          try
          {
           t=session.beginTransaction();
           Query q=session.createQuery(hql);
              q.setParameter("id", id);
              q.executeUpdate();
              t.commit();
          }catch(Exception ex)
          {
           if(t!=null)
           {
            t.rollback();
           }
          }finally
          {
           session.close();
          }