请问这个能执行删除操作么。要是不能的话,应该怎么写?public int updateBySql(final String sql) {
return (Integer) getHibernateTemplate().executeWithNativeSession(
new HibernateCallback() {
@SuppressWarnings("unchecked")
public Object doInHibernate(Session session)
throws HibernateException {
return session.createSQLQuery(sql).executeUpdate();
}
});
}

解决方案 »

  1.   

    可以~  只要你的SQL删除语句是正确的
      

  2.   

    大虾们能不能简单解释下getHibernateTemplate()后面的那些的作用啊??就简单说说干什么的。谢谢了大侠们
      

  3.   

    你这个方法是完全可以执行删除的。
    return session.createSQLQuery(sql).executeUpdate();
    createSQLQuery中的参数要求是原生态的sql语句(非HQL)。
    executeUpdate()方法是执行你传过来的sql语句。你传进来的sql是update他就执行update,你传进来是insert他就执行insert所以你要执行删除的话就老老实实传原生态的删除语句进来。
    getHibernateTemplate()是spring提供的。他对hibernate进行了托管。用getHibernateTemplate()的话事务代码不用你写了,spring帮你搞定了
    楼下的请补充