нагуглил. Я думал об этом. В некоторых орм которые я видел это решали тем что писали джойн и указывали по каким столбцам разбивать допустим у машины есть ид и цвет, а у колеса тоже ид, ид машины и размер
так вот запросы был бы
select
c.id, c.color,
w.id as w_id, w.size from car c join wheel w on w.car_id =
c.idи потом была бы таблица
id, color, w_id, size
1 белый 1 большой
1 белый 2 большой
1 белый 3 средний
1 белый 4 средний
и дальше split_on = 'color, w_id'
таким образом в обьект машины идёт всё что до color
в обьект колеса идёт все что после w_id
https://stackoverflow.com/questions/97197/what-is-the-n1-selects-problem-in-orm-object-relational-mapping читал тут