java - 如何在休眠中使用 pg_column_size?
问题描述
我正在尝试获取 postgresql 表中行的大小,我发现这pg_column_size
可以解决问题,但它不适用于 hibernate:
@Query("SELECT pg_column_size(t.*) as filesize FROM TABLE as t where name=:name")
int getSize(@Param("name") String name);
intellij 给出了这个错误:
< 运算符 > 或如预期的那样,得到 '('
我猜问题是hibernate不支持特定的postgresql查询,它只支持基本的sql查询。
那么有没有办法解决这个问题?如果没有,有没有办法在 java 中获取/估计 postgresql 行的大小?
解决方案
在原生查询之后添加 nativeQuery = true。
@Query("SELECT pg_column_size(t.*) as filesize FROM users as t where t.name=:name",nativeQuery = true)
使用上面的查询,希望这会起作用。
推荐阅读
- discord.js - Discord.js 读取消息中的字段
- javascript - useEffect 不会在它“监听”的对象发生变化时触发
- sql - SQL 将多个 ID 传递给单个参数
- json - 如何防止我的对象的某些字段被类转换器转换
- r - 如何创建许多变量,这些变量取决于 R 中的多个条件(类似于 SAS 中的数组函数)
- jacoco - 我怎样才能让 Jacoco 代码扫描忽略分支条件 InterruptedException,它已知会按预期运行?
- c++ - 如何修复“E0349 没有运算符匹配这些操作数”错误?
- json - 使用 Go 删除 JSON 字符串的第一个字段
- r - 如何使用 R Markdown to Beamer 中的 kable 删除标题和表格之间不必要的空白
- .net-core - 清除 .NET Core 中的 DI 缓存