【问题标题】:Parsing JSON and persist it in H2 Database解析 JSON 并将其保存在 H2 数据库中
【发布时间】:2020-03-17 09:52:01
【问题描述】:

我有以下 JSON 需要解析并保存到 H2 数据库。我正在努力理解并为具有适当注释的基础类/实体创建结构。我想知道你们中是否有人就此提出建议。

{
  "teams": [
    {
      "positions": [
        {
          "alert": false,
          "altitude": 18,
          "type": "automatic",
          "dtfKm": 0,
          "id": 44148875,
          "gpsAt": "2017-12-07T12:00:00Z",
          "sogKnots": 0,
          "battery": 56,
          "cog": 44,
          "dtfNm": 0,
          "txAt": "2017-12-07T12:02:33Z",
          "longitude": -60.94975,
          "latitude": 14.07726,
          "gpsAtMillis": 1512648000000,
          "sogKmph": 0
        },
        {
          "alert": false,
          "altitude": 12,
          "type": "automatic",
          "dtfKm": 4981.635,
          "id": 43673920,
          "gpsAt": "2017-11-19T11:00:00Z",
          "sogKnots": 0.1,
          "battery": 93,
          "cog": 23,
          "dtfNm": 2689.867,
          "txAt": "2017-11-19T11:00:11Z",
          "longitude": -15.42632,
          "latitude": 28.12884,
          "gpsAtMillis": 1511089200000,
          "sogKmph": 0.4
        },
        {
          "alert": false,
          "altitude": 17,
          "type": "automatic",
          "dtfKm": 4981.635,
          "id": 43672771,
          "gpsAt": "2017-11-19T10:00:00Z",
          "sogKnots": 0,
          "battery": 93,
          "cog": 138,
          "dtfNm": 2689.867,
          "txAt": "2017-11-19T10:00:32Z",
          "longitude": -15.42633,
          "latitude": 28.12882,
          "gpsAtMillis": 1511085600000,
          "sogKmph": 0
        },
        {
          "alert": false,
          "altitude": 10,
          "type": "automatic",
          "dtfKm": 4981.635,
          "id": 43671152,
          "gpsAt": "2017-11-19T09:00:06Z",
          "sogKnots": 0,
          "battery": 94,
          "cog": 151,
          "dtfNm": 2689.867,
          "txAt": "2017-11-19T09:00:16Z",
          "longitude": -15.42635,
          "latitude": 28.12884,
          "gpsAtMillis": 1511082006000,
          "sogKmph": 0
        }
      ],
      "marker": 222,
      "name": "Rock 7",
      "serial": 6251
    }
  ],
  "raceUrl": "test2017"
}

你能推荐一个实体的结构来解析它并持久化到 H2 数据库中吗?

【问题讨论】:

    标签: json spring hibernate parsing persistence


    【解决方案1】:

    遵循 DTO 结构应该可以正常工作。我添加了几个字段

    class Position {
    
        public boolean alert;
        public String type;
        ...
    
    }
    
    class Teams {
    
        public String marker;
        public String name;
        public Integer serial;
    
        public List<Position> positions;
    
    }
    
    
    class MainDTO {
    
        public List<Teams> teams;
        public String raceUrl;
    
    }
    

    【讨论】:

    • 非常感谢!如何更好地注释它们?团队和职位会是@Embedded 类型吗?我可以使用raceUrl 作为@id 吗?或者没有这些,hibernate 会持久化数据吗?
    • 是的,您可以使用 Embedded。是的,您需要为休眠的 id 字段添加 ID 以标记为主键
    • 谢谢。如果您能按照您看到的方式对 DTO 进行注释,我将不胜感激。
    猜你喜欢
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    • 2019-06-30
    相关资源
    最近更新 更多