我在jsonb
列类型中按属性过滤行时遇到问题。
我试过了:
jsonb_column ? 'my_property'
在pgadmin
或psql
上它运行良好,但在JDBC驱动程序上它会抛出错误:
org.hibernate.QueryException: Expected positional parameter count: 3, actual parameters: []
问题在于?
运算符。那么,还有另一种方法吗?
答案 0 :(得分:0)
jsonb_object_keys
返回我的json元素的所有键,然后使用<@运算符过滤每个键,如:
ARRAY(SELECT jsonb_object_keys(jsonb_column)) <@ '{property1,property2,property3}'