小编INe*_*elp的帖子

如何将 PSQLs ::json @> ::json 转换为 jpa/jpql 谓词

假设我有一个看起来像这样的数据库表:

CREATE TABLE myTable(
   id BIGINT, 
   date TIMESTAMP, 
   user_ids JSONB 
);
Run Code Online (Sandbox Code Playgroud)

user_ids 区域 JSONB-ARRAY

让这个表的记录看起来像这样:

{
     "id":13,
     "date":"2019-01-25 11:03:57",
     "user_ids":[25, 661, 88]
};
Run Code Online (Sandbox Code Playgroud)

我需要查询 user_ids 包含 25 的所有记录。在 SQL 中,我可以使用以下选择语句来实现它:

SELECT * FROM myTable where user_ids::jsonb @> '[25]'::jsonb;
Run Code Online (Sandbox Code Playgroud)

现在我需要编写一个 JPA-Predicate 来呈现"user_ids::jsonb @> '[25]'::jsonb"一个休眠的可解析/可执行标准,然后我打算在session.createQuery()语句中使用它。简单来说,我需要知道如何将该 PSQL 代码段编写(user_ids::jsonb @> '[25]'::jsonb)为 HQL 表达式。

jpa hql predicate jpql

3
推荐指数
1
解决办法
413
查看次数

标签 统计

hql ×1

jpa ×1

jpql ×1

predicate ×1