我程序里是这样删除的
private T_course course = new T_course();
course.setId(Integer.parseInt(request.getParameter("record_id")));
courseDAO.delete(course);public void delete(T o){
getSession().delete(o);
}生成的sql语句是这样
delete from T_course where l_id=?程序里并没有写session.flush()这样的同步的语句,是hibernate框架里做的同步吗?为什么我写update()的时候,就必须手动写代码同步呢?
public void update(T o) {
Session session = getSession();
session.update(o);
session.flush();
}
private T_course course = new T_course();
course.setId(Integer.parseInt(request.getParameter("record_id")));
courseDAO.delete(course);public void delete(T o){
getSession().delete(o);
}生成的sql语句是这样
delete from T_course where l_id=?程序里并没有写session.flush()这样的同步的语句,是hibernate框架里做的同步吗?为什么我写update()的时候,就必须手动写代码同步呢?
public void update(T o) {
Session session = getSession();
session.update(o);
session.flush();
}
我认为你这个T_course是瞬态的
删除会报错正常的情况下我建议你根据id查询出这个 T_course 对象
然后再进行删除
可是我不自己来flush的话,更新不起作用
那我现在用session,算不算用hibernate,如果算的话,为什么还要手动flush