Сопоставить строки таблицы с объектом - PullRequest
0 голосов
/ 07 мая 2019

Предыстория: я работаю над интеграцией в API "rest", где все json-тела ответа - это два димерсионных массива. Массивы представляют собой результирующий набор из SQL-запроса, который должен быть отображен на некоторый структурированный объект с полями, вложенными отношениями и т. Д., Как и любой ORM.

Пример 1: Пример тела ответа (список пар «имя-значение», где все массивы значений имеют одинаковую размерность):

[
{
    name: "id",
    value: ["1", "1"]
},
{
    name: "rel1",
    value: [5, 6]
},
{
    name: "rel2",
    value: [7, 8]
}
]

Пример 2. «Правильным» (или предпочтительным) представлением вышеупомянутого будет:

{
id: "1"
relation: [
    {
        rel1: 5,
        rel2: 7
    },
    {
        rel1: 6,
        rel2: 8
    }
]
}

Я ищу способ сопоставить первый пример с объектами Java, как во втором примере. Я думал, что части hibernate можно использовать для аннотирования pojo и каким-то образом использовать таблицу json вместо результатов запросов sql для сопоставления. Мне не удалось понять, возможно ли это. Кто-нибудь, кто знает, можно ли использовать детали в спящем режиме? то есть сопоставить List<Map<String, Object>> (строки) с аннотированным Java-объектом.

Я рассмотрел другие подходы, использующие модель-маппер и бульдозер, но, похоже, они обрабатывают более простые отображения (в основном из bean-компонентов?) И, насколько я видел, требуют большой настройки.

Причина, по которой мы структурируем данные таким образом, связана с ограничениями третьей стороны, которые находятся вне моего контроля.

Есть идеи или предложения?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...