У меня есть 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
вручную, чтобы использовать сопоставление столбцов?