假设我有一个看起来像这样的数据库表:
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 表达式。