Spring Boot数据JPA嵌套的DTO对象映射

时间:2019-09-03 05:11:42

标签: java json rest spring-boot spring-data-jpa

我正在使用存储在数据库中的规范化数据结构来实现基于Spring Boot Data JPA的RESTful服务。 我需要找出一种最佳/推荐的实现方式,该方式是按照嵌套JSON结构生成外部DTO的,该结构将与javascript前端共享。

因此,我正在寻求您的建议,以便使用Spring Boot Data JPA生成所需的输出。

数据库表结构

lookup_name: varchar,
lookup_code: varchar,
lookup_value:varchar

lookup_name     | lookup_code   | lookup_value
---------------------------------------------------
parent_type_1   | child_code_1  | child_value_1
parent_type_1   | child_code_2  | child_value_2
parent_type_1   | child_code_3  | child_value_3
parent_type_2   | child_code_4  | child_value_4
parent_type_2   | child_code_5  | child_value_5
parent_type_3   | child_code_6  | child_value_6
parent_type_3   | child_code_7  | child_value_7

所需的外部DTO结构

    [
  {
    "lookup_name": "parent_type_1",
    "child": [
      {
        "lookup_code": "child_code_1",
        "lookup_value": "child_value_1"
      },
      {
        "lookup_code": "child_code_2",
        "lookup_value": "child_value_2"
      },
      {
        "lookup_code": "child_code_3",
        "lookup_value": "child_value_3"
      }
    ]
  },
  {
    "lookup_name": "parent_type_2",
    "child": [
      {
        "lookup_code": "child_code_4",
        "lookup_value": "child_value_4"
      },
      {
        "lookup_code": "child_code_5",
        "lookup_value": "child_value_5"
      }
    ]
  },
  {
    "lookup_name": "parent_type_3",
    "child": [
      {
        "lookup_code": "child_code_6",
        "lookup_value": "child_value_6"
      },
      {
        "lookup_code": "child_code_7",
        "lookup_value": "child_value_7"
      }
    ]
  }
]

谢谢。

0 个答案:

没有答案