java - 在调用 oracle 数据库中的存储过程后,HikariCp 连接池无法重用会话
问题描述
我在用着
- 弹簧靴 1.5.13
- 春天 4.3.17
- 数据库:oracle 12c 12.01.02
- 连接池:hikaricp 3.3.1
当我调用存储过程时,它会为每个调用创建一个会话,而不是重用空闲会话。
我尝试通过以下方式更改对存储过程的调用:
- @PersistenceContext 实体管理器
- @autowire entityfactorymangeror
- @PersistenceUnite entityfactorymanger
但它没有改变任何东西。
解决方案
我为这个问题找到了两个解决方案:
用 jpa 注释 @procedure 替换 entitymenager.createstoredprocedure()。第二个选项是添加 @transactional add 当我们完成使用 entityManager.unwrap(Session.class).disconnect;
推荐阅读
- excel - 如果使用行,则自动调整行大小
- r - 根据 R 中的另一列有条件地对一系列列进行求和
- amazon-web-services - 获取 ec2 实例 ID 突然停止工作
- javascript - 在 Laravel 中使用 AJAX 更新图像记录
- php - 请求 Laravel 中缺少文件输入
- scmmanager - 如何让 scm 管理器在 docker 容器中运行以使用主机系统上的现有目录进行配置和存储库
- php - Symfony YAML:格式化输出
- html - HTML页面刷新
- gradle - 将 sourceCompatibility 和 targetCompatibility 从 1.8 更改为 13 时,任务“:test”的 Gradle 执行失败
- rest - JSON错误 | 无数据,空输入 1:1