Java Spring引导数据JPA嵌套DTO对象映射
我正在使用存储在数据库中的规范化数据结构实现一个基于SpringBootDataJPA的RESTful服务。 我需要找出按照嵌套JSON结构生成外部DTO的最佳/推荐实现,该结构将共享给javascript前端 因此,我正在寻求您的建议,以便使用Spring引导数据JPA生成所需的输出 数据库表结构Java Spring引导数据JPA嵌套DTO对象映射,java,json,rest,spring-boot,spring-data-jpa,Java,Json,Rest,Spring Boot,Spring Data Jpa,我正在使用存储在数据库中的规范化数据结构实现一个基于SpringBootDataJPA的RESTful服务。 我需要找出按照嵌套JSON结构生成外部DTO的最佳/推荐实现,该结构将共享给javascript前端 因此,我正在寻求您的建议,以便使用Spring引导数据JPA生成所需的输出 数据库表结构 lookup_name: varchar, lookup_code: varchar, lookup_value:varchar lookup_name | lookup_code |
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
[
{
"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"
}
]
}
]
所需的外部DTO结构
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
[
{
"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"
}
]
}
]
谢谢。是的,如果您使用的是Spring boot,那么您只需使用您想要的数据为控制器添加注释即可。您将获得您想要的类型检查此@Aviro查询无法返回此格式的数据。可能您需要将查询结果转换为Java代码中所需的格式。@Aviro JSON格式看起来不是有效的格式。@Aviro可能您需要这样的格式:是的,如果您使用Spring boot,那么您只需使用所需的数据对控制器进行注释即可。您将获得想要的类型检查此@Aviro查询无法返回此格式的数据。可能需要将查询结果转换为Java代码中所需的格式。@Aviro JSON格式看起来不是有效格式。@Aviro可能需要类似的格式: