【问题标题】:How to set up org.hibernate.org.hibernate.FlushMode for a Spring Boot application?如何为 Spring Boot 应用程序设置 org.hibernate.org.hibernate.FlushMode?
【发布时间】:2015-07-24 12:50:16
【问题描述】:

如何为我的 Spring Boot 应用程序中的所有会话设置 FlushMode.ALWAYS? 最好在application.yml 中有这个设置。

更新

我在 application.yml 中都尝试过:

spring.jpa.properties.org.hibernate.flushMode: ALWAYS
spring.jpa.org.hibernate.flushMode: ALWAYS

但是下一个代码:

    Session ses = factory.openSession();
    ses.setFlushMode(FlushMode.ALWAYS);
    LOG.debug("!!!Session.FlushMode = " + ses.getFlushMode());
    LOG.debug("!!!NewSession.FlushMode = " + factory.openSession().getFlushMode());

给予:

DEBUG 47225 ---      : !!!Session.FlushMode = ALWAYS
DEBUG 47225 ---      : !!!NewSession.FlushMode = AUTO

【问题讨论】:

  • 可以尝试添加如下spring.jpa.org.hibernate.flushMode=ALWAYS(当然是yml格式)。

标签: java spring spring-boot hibernate jpa


【解决方案1】:

您需要添加以下属性:

spring.jpa.properties.org.hibernate.flushMode=ALWAYS

【讨论】:

  • 对我不起作用。当我想将具有外键的新行保存到我的帐户时,我的AccountRepository extends JpaRepository 方法save 仍然存在异常。 saveAndFlush 工作正常。
  • 您询问了如何设置冲洗模式。例外可能是别的东西。要确保设置了刷新,请检查 session.getFlushMode() 方法。
  • @Loco 您的问题是关于如何设置该答案实际回答的特定属性。但是显然你想问一个不同的问题。
  • 我可以确认这没有任何作用(Spring Boot 2.4)。
  • 我可以确认,这在 Spring boot 2.6.3 中不起作用
猜你喜欢
  • 2017-04-16
  • 2022-08-18
  • 2017-08-03
  • 1970-01-01
  • 2016-08-18
  • 2014-01-31
相关资源
最近更新 更多