【问题标题】:Is transaction need to be committed to fire a trigger?是否需要提交事务才能触发触发器?
【发布时间】:2019-03-19 15:43:22
【问题描述】:

在我的应用程序中,我正在通过 Hibernate 更新一个表,并且该表有一个 UPDATE 触发器。 我的问题是,我是否需要提交发生此更新操作的事务(Spring Transaction), 触发触发器?

我正在使用 Spring 事务和 Oracle 数据库

谢谢。

【问题讨论】:

    标签: java database hibernate transactions spring-transactions


    【解决方案1】:

    是的,当数据到达磁盘时会触发数据库级触发器。这只发生在提交完成时。

    【讨论】:

      【解决方案2】:

      不,但是 Hibernate 经常等待事务结束来运行所有 SQL 更新,所以看起来可能是这样。

      尝试在更新实体后使用EntityManager#flush(JPA api)或JpaRepository#flush(来自 Spring Data)或使用JpaRepository#saveAndFlush 刷新您的更改。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-05-04
        • 2020-03-10
        • 2019-09-09
        • 1970-01-01
        • 2023-03-17
        • 1970-01-01
        • 1970-01-01
        • 2020-12-09
        相关资源
        最近更新 更多