下面的代码不起作用。这个问题是交易没有得到在DB致力于sessionFactory.getCurrentSession()与@Transactional一起工作,但sessionFactory.openSession()不是
案例1:
@Transactional
public void save(Person p) {
Session session= sessionFactory.openSession();
session.saveOrUpdate(p);
session.close();
}
,但是当我用下面的代码,然后它是工作的罚款:
案例2:
@Transactional
public void save(Person p) {
this.sessionFactory.getCurrentSession().saveOrUpdate(p);
}
查询:
对于案例1问题,我在谷歌上搜索@Transactional不起作用。但是当我错误地使用案例2时,它开始工作。为什么?
使用案例2解决方案,当我在Hibernate属性添加以下行之后
的hibernate.current_session_context_class =线程
它开始给我的错误,那么,交易不活跃。
什么是实际错误?
session.flush();没有写 – PVR