Pull to refresh

Comments 2

Для себя открыл проблему с OSIV задолго до того как поднялся хайп с переходом на SB2. Плюс меня немного берет мандраж, когда я видел к-во запросов к БД при обработке более-менее сложной логики (например, валидация бизнесс логики ключевой сущности проекта). Пока-что решил проблему для себя через EntityGraph (и небольшой библиотекой, которая позволяет указать EG в генерируемых JPA/SB2 методах репозиторя): эффективнее проанализировать метод наперед/после рефакторинга или имплементации и указать необходимые JOIN, чем делать Lazy запросы постфактум. Конечно за это иногда приходится платить (как говорилось в статье: идти на компромисы): иногда бизнес логике вообще не нужен JOIN, но приложение его уже сделало, потому что я забыл (поленился) сделать условный EG и, конечно, требование передачи\указание дополнительного параметра (скорость разработки). Практически всё это сошло к тому, что после завершения разработки нового модуля приложения я делаю ревизию запросов добавленных для данного модуля и добавляю необходимые EG в проект. Ещё стоит упомянуть что при использовании QueryDSL, тот-же JOIN очень логически вписыавется в запрос, главное не пытаться одновременно использовать EG и .join из QueryDSL, иначе таже таблица будет включена в запрос множество раз.

Blaze persistence to the rescue!!! :) Советую попробовать. Там даже обновляемые вьюхи завезли для entity. Дтошки городить не обязательно.

Sign up to leave a comment.

Articles