Поддерживаемый подход к отображению запроса JdbcTemplate с соединениями - PullRequest
1 голос
/ 13 июля 2020

У меня есть 3 таблицы, которые соответствуют 3 Java объектам:

  • Объект A (Таблица A)
  • Объект B (Таблица B)
  • Объект C (Таблица C)

Я запрошу Table A и JOIN на Table B и Table C. Я использовал JdbcTemplate только для запроса Table A и использовал Spring BeanPropertyRowMapper для сопоставления результата с Object A. Но теперь я хотел бы JOIN остальных таблиц.

Итак, я создал новый объект Java, в котором хранятся 3 таблицы, упомянутые выше. Это выглядит так:

public class AllTables {

    private ObjectA tableA;

    private ObjectB tableB;

    private ObjectC tableC;
}

И пример запроса будет выглядеть так:

SELECT tableA.*, tableB.*, tableC.* 
FROM table_a tableA 
JOIN tableB 
    ON tableB.ref_id = tableA.id 
JOIN table_c tableC 
    ON tableC.ref_id = tableA.id;

Предоставляет ли Spring какие-либо средства для автоматического сопоставления этих таблиц / столбцов с их соответствующим Java эквивалентом объект? Я не хочу вручную отображать ResultSet, и, если нужно, есть ли способ передать ResultSet в BeanPropertyRowMapper вручную, чтобы использовать сопоставление столбцов?

...