2016-04-15 18 views
0

jsonb列のプロパティで行をフィルタリングする際に問題が発生しました。プロパティがjsonb列に存在するかどうか確認してください

私はこの試みた:それはうまく動作しますが、JDBCドライバを介して、それがエラーをスローpsqlpgadmin

jsonb_column ? 'my_property' 

のか:

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

問題が?演算子です。だから、それを行う別の方法がありますか?

+0

をドライバの適切なバージョンを持っている。 –

+0

私のドライバを最新のもの(9.4.1208)に変更しましたが、それもうまくいきませんでした。 – fdam

答えて

0

よく、いくつかの研究と "?"デJDBCドライバを超える事業者は、私はそれを別の方法で、機能を解い

jsonb_object_keys

戻ってすべての私のJSON要素のキー、そして私は次のように<@演算子を使用して、それぞれ一つのフィルタ:あなたを確認してください

ARRAY(SELECT jsonb_object_keys(jsonb_column)) <@ '{property1,property2,property3}' 
関連する問題