繁体   English   中英

SQL 或 Spring JDBC 返回对象的 ZA8CFDE6331BD59EB2AC96F8911C4B666

[英]SQL or Spring JDBC return object of objects

postgres-sql 或 Spring JDBC 是否可以返回具有以下形状的数据:

    {
      id: 1
      profit: 200
      sales_rep: {
        name: 'bob',
        age: 9,
        gender: male
    }

在到达存储库层之前,名称、年龄和性别在键“sales_rep”中的位置? 或者我是否必须检索平面数据,然后使用 java 在存储库层中将其放入我想要的形状。

请假设我们使用两个表 'earnings' 和 'sales_rep' 外键为 'sales_rep_id' 以便于论证。

在 Postgres SQL 中,您可以使用 json 函数轻松完成此操作:

select jsonb_build_object(
    'id',        e.id,
    'profit',    e.profit
    'sales_rep', jsonb_build_object(
        'name',   sr.name,
        'age',    sr.age,
        'gender', sr.gender
    )
) js
from earnings e
inner join sales_rep sr on sr.sales_rep_id = e.sales_rep_id

这为您提供了一个结果集,其中每个earning一行和一个列,其中包含具有您要求的结构的 jsonb 有效负载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM