在哪里设置休眠FlushMode?

问题描述 投票:0回答:1

我有一个使用Spring MVC并将Hibernate FlushMode设置为默认值的IntelliJ项目。问题是:当我尝试使用Web界面从db删除对象时,它可以正常工作,但是在我第三次这样做之后,该界面变得没有响应(即使Hibernate收到了删除该特定对象的命令)并使用该特定ID),然后我必须重新启动WildFly服务器。

任何想法,我可以在哪里进行更改?有没有办法在配置文件中设置它,或者我必须调用一种方法来设置它?即使问题出在FlushMode本身上。问候

更新:经过测试,我终于找到了问题的根源。如果我连续三次访问数据库,则服务器无响应。我该如何克服?

spring hibernate spring-mvc flush
1个回答
0
投票

我实际上没有正确回答您的问题。第三次您尝试从前端删除某些内容时,网页卡住了吗?第三次发出删除请求时,该请求是否停留在休眠状态?关于实际正在发生的事情或您面临的问题可能有些不清楚。

要回答您的问题-如何在休眠状态下设置setFlushMode:

  1. 如果使用EntityManager,则为> EntityManager.setFlushMode(FlushModeType。)-> JPA支持AUTO和COMMIT
  2. [如果您使用SessionFactory:
    • sessionFactory.setHibernateFlushMode(FlushMode。)-> 从休眠5开始
    • sessionFactory.setFlushMode(FlushMode。)-> 休眠5之前(注意:请检查文档以获取不建议使用setFlushMode的休眠版本的正确版本。Hibernate支持4种刷新模式-> AUTO / COMMIT / ALWAYS / MANUAL
© www.soinside.com 2019 - 2024. All rights reserved.