【发布时间】:2016-11-10 21:29:54
【问题描述】:
以下代码不起作用。问题是事务没有在 db 中提交
案例一:
@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 问题,我在 google 上搜索,例如 @Transactional 不起作用。但是当我错误地使用案例 2 时,它就开始工作了。为什么?
-
使用案例2解决方案后,当我在休眠属性中添加以下行时
hibernate.current_session_context_class=线程
它开始给我错误,然后交易不活跃。
什么是实际错误?
【问题讨论】:
-
session.flush();没有写
标签: java hibernate spring-mvc transactions