vis*_*era 0 postgresql spring hibernate spring-data-jpa jsonb
我目前正在寻找例外的解决方案
org.springframework.dao.InvalidDataAccessApiUsageException: Parameter with that position [1] did not exist;
Run Code Online (Sandbox Code Playgroud)
我当前的@Query注释是:
@Query(
nativeQuery = true,
value = "SELECT * FROM thgcop_order_placement WHERE \"order_info\" @> '{\"parentOrderNumber\":\" :param \"}'")
Run Code Online (Sandbox Code Playgroud)
我想它position [1] did not exist来自双引号加双引号加单引号。
我该如何进行这项工作?
该查询正在使用Postgres JSONB数据类型。列定义为ORDER_INFO JSONB
以下本地查询在Postgres客户端中可以正常运行:
SELECT * FROM thgcop_order_placement
WHERE "order_info" @> '{"parentOrderNumber":"ORD123"}'
Run Code Online (Sandbox Code Playgroud)
除以下内容外,以上所有内容均不适用于我,
服务层代码:-
OrderInfo orderInfo = new OrderInfo();
orderInfo.setParentOrderNumber("ORD123");
....
String param = objectMapper.writeValueAsString(orderInfo);
List<Order> list = jpaRepository.getByParentOrderNumber(param);
Run Code Online (Sandbox Code Playgroud)
JpaRepository.java代码:-
@Query(nativeQuery = true, value = "select * from thgcop_order_placement where order_info @> CAST(:condition as jsonb)")
List<Order> getByParentOrderNumber(@Param("condition") String parentOrderNumber);
Run Code Online (Sandbox Code Playgroud)
这就是我达到结果的方式。我希望这将对所有热心者有帮助!
谢谢大家的帮助 !!!
| 归档时间: |
|
| 查看次数: |
1091 次 |
| 最近记录: |