Ð
боязнь джойнов сродни боязни регулярных выражений :) Неопытному глазу выглядит непонятно, а не понимание как с ними работать вызывает иллюзии о нелбходимости трехэтажности. На практике словари, не содержащие критически актуальные данные, подтягиваются не джойном, а из кэша в приложении. А джойны нужны чтобы сделать фильтры по полям нескольких таблиц. В указанном примере джойнов вообще не нужно, нужна одна процедура, которая делает ряд селектов с ифами, а потом апдейт. Правильный орм сгенерирует такой же скл алгоритм, хорошо еще если завернет его в транзакцию с нужным уровнем изоляции. Если нет - поздравляю, вы сделали себе бомбу замедленного действия, которая срабатывает на хайлоаде в условиях гонок
Дело не в боязни джоинов.
Без проблем пишу сложные запросы, хоть с горой джойнов, подзапросов, группоровкой, аггрегацией и оконных функций.
Но на выходе с SQL я получаю плоские строки, и мапить всё это в иерархию объектов, чтобы потом удобно с ними работать — вообще не хочу.
Аналогично наоборот, разбивать объекты, чтобы потом иерархию инсертить/обновлять, дёргая из sql "дай последний инсертед id" и всё такое тоже вообще не хочется