源码:
public Long save(Person entity) {
// TODO Auto-generated method stub
Transaction tr=getSession().getTransaction();
tr.begin();
Long i=(Long)getSession().save(entity);
getSession().flush();
tr.commit();
return i;
}
更改为:
public Long save(Person entity) {
// TODO Auto-generated method stub
Session session=getSession();
Transaction tr=session.getTransaction();
tr.begin();
Long i=(Long)session.save(entity);
session.flush();
tr.commit();
return i;
}
解释:
openSession每次调用都会新建一个session.所以源码中保存save和事务提交用的不是一个session,提交不对保存起作用。