当前位置: 首页 > 知识库问答 >
问题:

当与JpaRepository一起使用flush时

终翔
2023-03-14

我有一个带有Spring(5.7.2)Web/Security的REST API项目。

我只有一个表,它包含一个id和一个名称。

public class DiscsRepository extends JpaRepository<Discs, Integer> {
}

当我删除光盘时,我的DiscsService会

discsRepository.deleteById(5);

当我需要插入或更新时,我会:

discsRepository.save(myDisc);

我了解到,当您希望在同一事务中使用值(提交之前)时,将使用flush(),并且flush()将同步并清空SQL缓存。

在我的例子中,我看到我在数据库中插入/更新或删除了值。

我应该使用flush()(我认为不应该),但可能我弄错了?

共有1个答案

耿星雨
2023-03-14

Insert、Update和Delete SQL语句通常在提交时执行。

如果要强制执行,可以调用flush()。

例如,如果数据库中有触发器,而这些触发器应该在调用save或delete后立即执行,而不是等到提交时才执行,那么这将非常有用。

 类似资料:
  • 我用嵌入ID(Integer和String字段在单独的类中)简单地初始化了类。我使用Spring数据(

  • 问题内容: 请检查这个要点并告诉我,怎么了? 为什么我看不到我的留言? 要点:https : //gist.github.com/cnaize/895f61b762a9f5ee074c 如果简单,我有两个功能: 和功能: 为什么不起作用? 编辑: 我已经更新了要点。现在在哪里: 我在日志中: 但是我什么也没看到。 有任何想法吗? 问题答案: 冲洗工作正常。问题是Chrome的纯文本呈现器在显示任何

  • 我有一个烧瓶服务器运行在http://127.0.0.1:5000和一个vuejs前端运行http://localhost:8080我已经做了api,并用postman测试了它,一切都如预期的那样工作:( > 将请求发布到/登录- (将请求发送至/登录)- 烧瓶API代码: 登录。vue: 指数vue 当我使用邮递员登录时,我得到的响应为;当我使用邮递员获取url/索引时,我得到响应。数据但当我使

  • 当试图将EnumTypeAdapter与Proguard一起使用时,它会在gson.getAdapter()中导致AssertionError。此错误似乎是由于类型信息丢失...以下是所有相关源代码: 例外情况: 正在使用的EnumTypeAdapter: 如何构造GSON对象: 我的ProGuard配置: 如前所述,我怀疑由于丢失了类型信息而出现了故障--在深入研究了GSON源代码后,这是用来解

  • 有一个只有exports子句的src/main/java/module-info.java。 有一个src/test/java/example/sometest/addertest,它具有: 到目前为止还不错。现在我使用@ExtendWith注释。 哪里 现在mvn测试给出错误 [警告].../AdderTest.java:[9,2]未导出模块中的类org.junit.jupiter.api.ex

  • 我试图将Hibernate与我的spring应用程序上下文联系起来。我正在成功地连接SessionFactory,但当我尝试调用getCurrentSession时,我看到以下错误: 我正在配置数据源会话工厂和事务管理器。我还指定了事务处理将是注释驱动的 下面是我的上下文XML: null 下面是我发现错误的类: 当这被称为sessionFactory时不是null,而是带有上述错误的错误。如果我