pgsql 新手 jpa 问题,关于 JSONB

2019-01-29 11:53:05 +08:00
 hellwys1

pgsql 新手,如有打扰,请见谅。

请问诸位大佬,如果我数据库有一张 firends,其中一个字段是 jsonb,字段名为"detail",具体如下:

{"Tom": {"friendly": {"message": "Hi", "lovely":3 }}

如何能够通过 JPA 来写 qurey,查找 lovely 等于 3 的所有的 firends 信息呢?

即 TOM 和 friendly 是变化的,但 lovely 的层级在 jsonb 始终不变的。

@Query(value = ?????)

望不吝指教!

1704 次点击
所在节点    Java
2 条回复
reus
2019-01-29 16:58:14 +08:00
如果需要查询,就好好设计关系表,不是说查不出来,但很麻烦,又要特别加索引,业务一变你索引又要跟着改

select * from (
select *
from jsonb_each((
select value
from jsonb_each((
select value
from jsonb_each(
'{"a": {"b": {"c": "c"}}}'::jsonb
)
))
))
) t0
where value = '"c"';

这样可以把内层的拿出来
hellwys1
2019-01-29 20:18:48 +08:00
@reus
非常感谢您,^_^。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/531513

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX