hellwys1
V2EX  ›  Java

pgsql 新手 jpa 问题,关于 JSONB

  •  
  •   hellwys1 · Jan 29, 2019 · 2201 views
    This topic created in 2686 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
        1
    reus  
       Jan 29, 2019   ❤️ 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
        2
    hellwys1  
    OP
       Jan 29, 2019
    @reus
    非常感谢您,^_^。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1052 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:05 · PVG 02:05 · LAX 11:05 · JFK 14:05
    ♥ Do have faith in what you're doing.