hellwys1
V2EX  ›  Java

pgsql 新手 jpa 问题,关于 JSONB

  •  
  •   hellwys1 · Jan 29, 2019 · 2519 views
    This topic created in 2836 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    @Query(value = ?????)

    望不吝指教!

    2 replies  •  2019-01-29 20:18:48 +08:00
    reus
    reus
    Jan 29, 2019❤️1
    1
    如果需要查询,就好好设计关系表,不是说查不出来,但很麻烦,又要特别加索引,业务一变你索引又要跟着改

    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
    hellwys1
    OP
    Jan 29, 2019
    2
    @reus
    非常感谢您,^_^。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1304 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:12 · PVG 05:12 · LAX 13:12 · JFK 16:12
    ♥ Do have faith in what you're doing.