
Илья Сазонов
Компания: Всегда.Да
Расскажем о настройке Spring под названием open-in-view
. Она включена по умолчанию, но по мнению многих специалистов это решение вредоносно и первым же коммитом в новом проекте ее нужно выключить. Что интересно, часто рекомендация отключать OSIV вызывает возражения, потому что по мнению других разработчиков именно в их случае OSIV не вредит, а очень даже помогает. И каждый раз это приводит к долгому обсуждению, что такое OSIV, чем он вреден и как поступить конкретному разработчику в конкретном случае.
Мы предлагаем вместо очередного созвона «буквально на 15 минут» послушать наш доклад. Расскажем, что такое OSIV, чем он вредит и почему его нужно отключать. Обсудим, что можно сделать, если пожар, вызванный этой настройкой, надо тушить прямо сейчас и времени на рефакторинг системы нет. Посмотрим в код Spring и покажем, почему очевидные решения проблемы не очень-то помогают. Для этого напомним, что под капотом у Sping Data JPA может находиться EntityManager, что такое транзакшен менеджер и как в Spring выполнена поддержка конкретных реализаций JPA. А самое главное — покажем, как все-таки поправить код Spring Framework, чтобы свести вред от OSIV к минимуму. Эти правки сейчас оформлены в виде пул-реквеста. Его судьба пока не решена, но если от мейнтейнеров поступит какой-то отзыв, мы включим его в доклад.
Компания: Всегда.Да
Компания: Сбер