我有 Spring JPA 查询
@Query(value = "select jsonb_path_query(payload,'$.structures.array[*].businessRelationships.array[?1]')\\:\\:text from fmk_t_contract where jsonb_path_exists(payload,'$.structures.array[*].businessRelationships ? (@.array[?1].brlStId == ?2)')", nativeQuery = true)
String findByJsonValueByBrlId(int index, String brStId);
我想将索引和brStId传递给上面的spring jpa本机查询
你应该做这样的事情:
@Query(value = "select jsonb_path_query(payload,'$.structures.array[*].businessRelationships.array[:value]')::text "
+ " from fmk_t_contract where jsonb_path_exists(payload,'$.structures.array[*].businessRelationships ? (@.array[:value].brlStId == :secondValue)')"
, nativeQuery = true)
Object result(@Param("value") String value, @Param("secondValue") String secondValue);
当然,传递返回类型,例如
Object
与查询参数相同,您可以更改,我的意思是从 @Param("value") String value
到 @Param("value") Integervalue