具有序数参数和HQL参数的JSONB本机查询歧义

时间:2019-10-17 10:47:24

标签: sql json spring-boot jpa

尝试运行包含JSON列(包含String列表)的查询。

假设下表

id | names (json)
-----------------
1  | ["madhairsilence","anothername"]

在JPA存储库方法中运行以下查询

@Query(select * from community c where (names)::jsonb ? 'madhairsilence')
public List<Name> getList();

这会导致两个问题

  • ::json运算符忽略一个':',因为它假定它是HQL参数
  • ?再次被误认为是SQL参数

编写此查询的正确方法是什么。

0 个答案:

没有答案