春季的交易管理和
中的交易管理有什么区别冬眠??我提到了很多网站,但我仍然无法理解
答案 0 :(得分:1)
一个人可以使用Spring以及Hibernate来实现事务管理,但是使用spring通过内部处理回滚/提交操作可以删除很多重复的代码。
休眠状态
尝试{
GET /produitImages/{produitId}/images/{contentId}
trans = session.beginTransaction();
session.save(txn);
trans.commit();
}抓住(异常e)
{
trans.rollback();
}
在Spring中,您可以只使用声明性((服务方法上的@Transactional注释)方法来处理保存和提交部分,而无需编写类似 transaction.commit(); transaction.rollback();
@Transactional
sessionFactory = HibernateUtil.getSessionFactory();
session = sessionFactory.getCurrentSession();
在复杂映射的情况下可能需要检查大量条件,并且需要在依赖表中保存/回滚事务。 Spring删除了所有的手动代码处理,并通过使用代理,仅当所有事务成功执行后才保存事务,否则回滚整个事务,从而实现事务的ACID属性。
此外,hibernate会执行对数据库执行查询的工作,并且Spring事务管理会处理事务的原子性质,因此您可以将更多精力放在逻辑上,而不是自己处理事务管理。