технология со своими плюсами и минусами. В связке с querydsl видел достаточно неплохих (относительно дешево поддерживаемых) проектов. Там где были проблемы с производительностью, обычно быстро решалось проекциями. В тоже время кривых поделий с чистыми запросами к базе я тоже встречал достаточно. Написать такое поделие довольно просто, но поддерживать совсем не хочется. Хуже всего если мудаки по контракту логику в базе сразу пишут.
Основная претензия это непрозрачность. Все эти n+1 когда они не нужны. Глюки планировщика сюда же. Я лично сталкивался с ситуацией, когда условно запрос where A=B and b=c and a=c работает сильно быстрее чем a=c and a=b. Сделать кучу вьюшек и использовать простые запросы, где гибернейт работает исключительно как маппер наверное можно, но проще маппер сразу взять и всё
Ещё не упомянул невырубаемый 1ст левел кэш, который очень тяжёлый
Обсуждают сегодня