检查jsonb列中是否存在属性

时间:2016-04-15 19:39:25

标签: java postgresql jdbc

我在jsonb列类型中按属性过滤行时遇到问题。

我试过了:

jsonb_column ? 'my_property'

pgadminpsql上它运行良好,但在JDBC驱动程序上它会抛出错误:

org.hibernate.QueryException: Expected positional parameter count: 3, actual parameters: []

问题在于?运算符。那么,还有另一种方法吗?

1 个答案:

答案 0 :(得分:0)

好吧,经过一些研究,没有人解决我的问题与“?”运算符over de JDBC驱动程序,我用另一种方式解决了函数

  

jsonb_object_keys

返回我的json元素的所有键,然后使用<@运算符过滤每个键,如:

ARRAY(SELECT jsonb_object_keys(jsonb_column)) <@ '{property1,property2,property3}'