Spring事务管理和hibernate事务管理之间的区别

时间:2016-07-28 08:10:24

标签: spring spring-transactions

春季的交易管理和

中的交易管理有什么区别

冬眠??我提到了很多网站,但我仍然无法理解

1 个答案:

答案 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事务管理会处理事务的原子性质,因此您可以将更多精力放在逻辑上,而不是自己处理事务管理。