如何从spring jpa数据传递参数到jsonb_path_query

问题描述 投票:0回答:1

我有 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本机查询

json postgresql spring-data-jpa jsonb
1个回答
0
投票

你应该做这样的事情:

  @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

© www.soinside.com 2019 - 2024. All rights reserved.