Spring 如何在JPA中参数化jsonb_路径_查询

Spring 如何在JPA中参数化jsonb_路径_查询,spring,postgresql,jpa,jsonb,Spring,Postgresql,Jpa,Jsonb,使用name\u id属性的nativeQuery将参数传递到jsonb\u path\u查询中的正确语法是什么 @Query(value=“select jsonb_path_Query(列,$.names[*]?(@.name_id=:id&&@.is_active==true)”)->“name_id”作为名称 jsonb_path_query()接受一个附加的jsonb参数,该参数可以包含作为键/值对的变量。可以使用JSON路径内的$符号引用键: jsonb_path_query(col

使用name\u id属性的nativeQuery将参数传递到jsonb\u path\u查询中的正确语法是什么

@Query(value=“select jsonb_path_Query(列,$.names[*]?(@.name_id=:id&&@.is_active==true)”)->“name_id”作为名称
jsonb_path_query()
接受一个附加的jsonb参数,该参数可以包含作为键/值对的变量。可以使用JSON路径内的
$
符号引用键:

jsonb_path_query(columns , '$.names[*] ? (@.name_id == $id && @.is_active == true)', '{"id": 42}')
jsonb值可以作为JDBC参数传递:

"select jsonb_path_query(columns , '$.names[*] ? (@.name_id == $id && @.is_active == true)', cast(? as jsonb) ) -> 'name_id' as name"
然后,您可以向查询传递一个字符串参数,如
“{\“id\”:42}”

我不知道JPA,在普通的JDBC中,这将与
PreparedStatement和
setString(1,“{”id:42}”)一起使用`