如何为Spring Boot应用程序设置org.hibernate.org.hibernate.FlushMode?

10
我应该如何设置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格式)。 - mh-dev
1个回答

7
您需要添加以下属性:
spring.jpa.properties.org.hibernate.flushMode=ALWAYS

1
еҜ№жҲ‘жқҘиҜҙдёҚиө·дҪңз”ЁгҖӮеҪ“жҲ‘жғіиҰҒдҝқеӯҳе…·жңүеӨ–й”®еҲ°жҲ‘зҡ„еёҗжҲ·зҡ„ж–°иЎҢж—¶пјҢжҲ‘зҡ„AccountRepository extends JpaRepositoryж–№жі•saveд»Қ然дјҡжҠӣеҮәејӮеёёгҖӮ saveAndFlushеҸҜд»ҘжӯЈеёёе·ҘдҪңгҖӮ - PaintedRed
2
你问了如何设置刷新模式。异常可能是其他问题。为确保刷新已设置,请检查 session.getFlushMode() 方法。 - Vlad Mihalcea
1
@Loco,你的问题是关于如何设置特定属性的,而这个答案正好回答了它。然而显然你想问另一个问题。 - M. Deinum
3
我可以确认这个不会产生任何影响(Spring Boot 2.4)。 - OrangeDog
1
我可以确认,在Spring Boot 2.6.3中,这不起作用。 - Ratul Sharker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接