【发布时间】:2021-04-18 13:22:51
【问题描述】:
我的 posgtgres 表中有一个 jsonb 列,该 json 的结构为:{'alias':["name1","name2","name"....]}
我已经编写了 Postgres 查询来检查 JSON 对象中的数组是否包含名称。
select * from public.table t where json_col->'alias' ? 'name'
这适用于 pgAdmin
但在 JPA 中同样不起作用
我的代码
@Query(value = "select * from public.table t where json_col->'alias' ? :name" ,nativeQuery = true)
Table findUsingName(@Param("name") String name);
这会引发错误:'Mixing of ?不支持?1等参数和其他形式!'
我知道这个错误是由于事实造成的?也被 JPA 使用是不同的意义...
任何人都可以在 JPA 查询中帮助我
【问题讨论】:
-
改用
??。我认为 JDBC 驱动程序会检测到这是一个“转义”?运算符。
标签: postgresql hibernate jpa jsonb