【问题标题】:Transaction - Springboot(JHipster) - RestService: how to事务 - Spring Boot(JHipster) - 休息服务:如何
【发布时间】:2021-02-11 20:20:46
【问题描述】:

我有一个使用 JHipster(SpringBoot+JPA) 创建的微服务,公开了一个 rest api。

在对实体进行保存操作期间,我需要管理事务,因为我必须对数据库执行另一次更新(使用其他实体)。

我该怎么做?

使用传统方法 (JDBC),我获得了连接并在其上创建了一个事务,进行所有查询并最终关闭事务(提交/回滚)。

使用 JPA,我有一个实体,但我无法指定以编程方式开始/结束(管理)事务。

【问题讨论】:

    标签: spring spring-boot jpa jhipster spring-transactions


    【解决方案1】:

    你有很多选择,这里有几个:

    • 定义一个服务(一个用@Service注解的类)并用@Transactional注解实现你的逻辑的公共方法
    • 通过注入服务类构造函数的EntityManager 手动管理事务
    • 创建自定义存储库

    查看Spring docs

    【讨论】:

    • 谢谢。我相信在我的情况下,最简单的方法是第一种。您只对公共方法说@Transactional。我正在考虑一个服务类(带有注释@Service)在其中执行“事务性”的所有方法。在这种情况下,我可以将 Transactional 标记放在类上而不是每个方法上,不是吗?
    • 是的,你可以放在课堂上,我自己的偏好是按方法做,我觉得它更有表现力。
    猜你喜欢
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-27
    • 2017-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多