首页 > 解决方案 > 如何将查询的结果集转换为可以进一步解析以创建 json 的 pojo 类?

问题描述

我有一个要求,其中我有一个返回某些结果集的复杂数据库查询。我必须将结果映射到 POJO。我如何使用优化的代码来实现这一点?最后我必须解析pojo来创建一个json(json模式粘贴在下面)。

db_objects_json_schema_image

查询结果集示例(管道分隔):

object_id|object_name|object_owner|object_type|status|parent_id|last_modified_timestamp 123_S1|ABC_S1|XYZ_S1|模式|有效|无|2019-11-09_20:40:11 123_S1T1|ABC_S1T1|XYZ_S1T1|表|有效|123_S1|2019-11-09_20:40:11 123_S1T1C1|ABC_S1T_1C1|ABC_S1T_C1|XYZ valid|123_S1T1|2019-11-09_20:40:11 123_S1T1C2|ABC_S1T1C2|XYZ_S1T1C2|column|valid|123_S1T1|2019-11-09_20:40:11 123_S1T1C3|ABC_S1T1C3|XYZ_S1T1C3|column|valid|123_S1T1|2019-11- 09_20:40:11 123_S1T2 | ABC_S1T2 | XYZ_S1T2 |表|录音|有效| 123_S1 | 2019-11-09_20:40:11 123_S1T2C1 | ABC_S1T2C1 | ABC_S1T2C1 | |XYZ_S1T2C2|column|valid|123_S1T2|2019-11-09_20:40:11 123_S1T2C3|ABC_S1T2C3|XYZ_S1T2C3|column|valid|123_S1T2|2019-11-09_20:40:11 123_S1V1|ABC_S1V1|XYZ_S1V1|view|valid|123_S1 | 2019-11-09_20:40:11 123_S1V1C1 | ABC_S1V1C1 | XYZ_S1V1C1 |列| column |有效| 123_S1V1 | 2019-11-09_20:40:40:11 123_S1V1C2 | :11 123_S1V1C3|ABC_S1V1C3|XYZ_S1V1C3|column|valid|123_S1V1|2019-11-09_20:40:11 123_S1V2|ABC_S1V2|XYZ_S1V2|view|valid|123_S1|2019-11-09_20:40:11 123_S1V2C1|ABC_S1V2C1|XYZ_S1V2C1|column |valid|123_S1V2|2019-11-09_20:40:11 123_S1V2C2|ABC_S1V2C2|XYZ_S1V2C2|column|valid|123_S1V2|2019-11-09_20:40:11 123_S1V2C3|ABC_S1V2C3|XYZ_S1V2C3|column|valid|123_S1V2|2019-11 -09_20:40:11

PS:我尝试了行映射器方法,但对如何维护父子关系感到困惑,例如架构可以拥有表/视图列表。同样,一个表/视图可以有多个列。

标签: javajsonmappingpojo

解决方案


如果您使用像hibernate这样的ORM工具会容易得多。这样,您的查询可以轻松返回实体 pojo,稍后可以使用 Jackson 或 GS​​ON 等工具将其转换为 JSON


推荐阅读