hibernate - 为 Spring 数据中的本机查询设置 work_mem
问题描述
我需要为使用 Spring Data 存储库执行的本机查询设置 work_mem。
尝试进行如下本机查询
SET LOCAL WORK_MEM TO '8 MB';{Actual query}
但这不起作用,因为 postgres 驱动程序正在拆分查询并将它们作为两个查询执行。由于第一个查询没有结果集,驱动程序抛出异常。
我正在寻找一种为此特定查询设置 work_mem 的方法
解决方案
您需要在调用实际查询之前触发 DDL 语句。
@Query
确保使用附加注释对您的 DDL进行@Modifying
注释。没有这个,引擎会期望一个结果集。
@Modifying
您可以执行,也可以在UPDATE, DELETE
您的情况下执行 DDL 语句。
确保将返回类型设置为void
.
推荐阅读
- html - 如何在角度 4 中获取(输入)事件中的前一个值
- python - 如何在其他系统中存在的python中调用rest api
- ios - 本地保存的 .txt 文件的标题在 tableview 中以随机顺序加载 - 如何强制特定顺序?
- javascript - 悬停在ul子元素效果ul后样式
- sql - SQL将列拆分为X列然后插入到表中
- protractor - 量角器检查单选按钮
- javascript - 从另一个 JS 文件(不是游戏状态)调用函数 Phaser js
- mysql - 在mysql中建立索引的最佳方法是什么
- node.js - frontend-maven-plugin 检测到错误的架构导致错误的节点下载 url
- javascript - Javascript - 如何更新 cookie 以便拨打新号码而不是默认号码?