Это прикол какой-то? Есть классический рецепт, как делать one to many, и как many to many. Оба этих случая внутри ОО-языка представляются как листы. В чём сложность?
Всё требует опыт работы, грамотно спроектировать архитектуру приложения, где ты сам "просто написал ручками запросы, и всё хорошо" для случаев сложнее плоских данных - тоже "требует опыт".
В итоге получается, что сами объекты любой орм или не являются объектами орм в полном смысле, или являются диким оверхедом и отвечают не просто за одну строку в одной таблице
Всё требует опыт работы, грамотно спроектировать архитектуру приложения, где ты сам "просто написал ручками запросы, и всё хорошо" для случаев сложнее плоских данных - тоже "требует опыт".
Вот попробуй написать на жуке хотя бы на 2 таблицы м:м с условием не дублирования. Сразу заноют
В итоге получается, что сами объекты любой орм или не являются объектами орм в полном смысле, или являются диким оверхедом и отвечают не просто за одну строку в одной таблице