【问题标题】:Using @Transactional with hibernate将@Transactional 与休眠一起使用
【发布时间】:2018-09-18 19:04:30
【问题描述】:

我正在为 REST API 使用休眠。现在所有的事务都是通过显式调用 beginTransaction 和 transaction.commit 来处理的。如果发生故障,事务将回滚。我希望使用 @Transactional 而不是所有的 beginTransactions 和提交事务。有人可以告诉我如何将@Transactional 集成到我的休眠中。我正在使用 mysql 查询数据库。

【问题讨论】:

标签: java spring hibernate transactions transactional


【解决方案1】:

您可以使用 @Transactional 注释查询方法,以便在方法结束时打开、提交和关闭事务。

注意隔离级别 (https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/annotation/Transactional.html#isolation--),因为它表明 Spring 何时会为您的事务创建新会话,或者干脆使用已经打开的会话。

当你在你的方法上抛出异常时,事务会自动回滚,你很好:)

【讨论】:

    【解决方案2】:

    您可以将 Spring Framework 与 Hibernate 集成一起使用。优点是 spring 管理 Hibernate 会话以及我们必须在 hibernate 中手动管理的所有低级事物,例如粒度提交等。这是一个例子。这是较旧的存储库,因此使用较旧版本的 Spring 和 Hibernate,但您可以升级它here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-19
      • 2018-12-31
      • 2014-11-25
      • 2013-02-28
      • 2013-06-23
      • 1970-01-01
      • 1970-01-01
      • 2019-03-11
      相关资源
      最近更新 更多