session.delete()没有返回值。。但是doInHibernte却有返回值,我该返回什么捏?要想得到删除了多少条记录怎么写?
public void delete(final Integer id){
getHibernateTemplate().execute(new HibernateCallback() {

@Override
public Object doInHibernate(Session session) throws HibernateException,//有返回值
SQLException {
Student stu = (Student) session.load(Student.class, id);
session.delete(stu);//没有返回值
return null;
}
});
}

解决方案 »

  1.   

    你用Session的话要使用事务呀,
    session.beginTransation();......
    session.commitTransation();这两句是个大概意思哈,好久都没写了,具体代码记不太清了。
    建议你用HibernateTemplate,这个比较好用。
      

  2.   


    事务配子啊spring了
    貌似只能这么写了:
    public Integer delete(final Integer id){
    return (Integer) getHibernateTemplate().execute(new HibernateCallback() {
    @Override
    public Object doInHibernate(Session session) throws HibernateException,
    SQLException {
    return session.createQuery("delete Student s where s.id=:id").setInteger("id", id).executeUpdate();//这方法有返回值。。
    }
    });
    }