首页 > 解决方案 > 如何在休眠中使用 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 行的大小?

标签: javaspringpostgresqlhibernatejpa

解决方案


在原生查询之后添加 nativeQuery = true。

@Query("SELECT pg_column_size(t.*) as filesize FROM users as t where t.name=:name",nativeQuery = true)

使用上面的查询,希望这会起作用。


推荐阅读