第一:在Spring @Transactional声明式事务管理的配置中,hibernate.current_session_context_class=thread…
这一句是不能加的…加了就会出错..那为什么不能加呢?
那是因为在Spring事务管理中,current Session是绑定到SpringSessionContext中的,而不是ThreadLocalSessionContext中的
参考http://blog.youkuaiyun.com/irelandken/article/details/7193123
第二:要注意
public void saveCategory(Category category) {
//hibernateTemplate.save(category);
Session session = sessionFactory.openSession();//.getCurrentSession();
session.save(category);
}
事物会不起作用,原因:sessionFactory.openSession(),另外开辟了一个session,而不是使用当前session
本文详细解析了在Spring事务管理中,如何正确使用Hibernate会话以避免常见错误,通过实例演示了sessionFactory.openSession()与getCurrentSession()的区别,并强调了正确绑定session的重要性。
8109

被折叠的 条评论
为什么被折叠?



