我正在使用Hibernate + SpringBoot,并有一个nativeQuery=true的@Query(),我试图使用Postgres jsonb函数查找JSON列表中包含具有特定字段值的条目的行,其中banana_id是一个参数:
WHERE jsonb_path_exists(CAST(foo.things as jsonb), '$[*] ? (@.id == :banana_id)')
但是无论我怎么尝试,查询都失败了。根据Using Postgres JSONB query with Spring Data and bind parameter fails with InvalidDataAccessApiUsageException这篇文章,不可能注入到一个json路径查询中,这就是为什么:banana_id不起作用,但是我不知道没有它如何重新构造它。
1条答案
按热度按时间ctehm74n1#
最后将整个查询作为字符串注入并将其转换为jsonpath,代码如下: