gpt4 book ai didi

mysql - Spring GetHibernateTemplate() 或 GetSession()

转载 作者:行者123 更新时间:2023-11-30 23:36:10 24 4
gpt4 key购买 nike

由于对 Spring 方法的理解不当,我遇到了一个问题 -> GetHibernateTemplate/GetSession。当我使用 native sql 查询 [getSession().createSQLQuery(nativeQuery)] 从数据库中获取一些记录时,在我看来出现了一种死锁情况,在 N 次请求之后,数据库连接池耗尽。这是我在 db "SHOW ENGINE INNODB STATUS"中检查时看到的示例:

MySQL thread id 1106, query id 1360 localhost 127.0.0.1 test2
---TRANSACTION 0 19491, not started, OS thread id 2960035840

我做错了什么?运行原生 sql 查询的好方法是什么?

最佳答案

Spring 透明地处理打开和关闭数据库连接。 data access chapter开头的表格文档的一部分显示了您处理的内容和 Spring 处理的内容,后者包括打开和关闭连接。 Spring 本身似乎不太可能是问题所在。

相反,对于您遇到这种情况的原因,有两种可能性:

  1. 您的连接池以某种方式配置错误
  2. 你没有意识到,但你有一些失控的,或者真正长时间运行/低效的查询

如果您将日志记录设置为调试,那将提供更多线索。

关于mysql - Spring GetHibernateTemplate() 或 GetSession(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7196356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com