Когда Hibernate плевать на ваш OneToOne Lazy Loading

Привет, Друзья! На связи Михаил Поливаха, технический лидер проекта Axelix . В рамках программы Hibernate в Spring АйО Academy мы краем обсудили тему, касаемую того, что @OneToOne отличается от других отношений. В частности, Hibernate может спокойно грузить его Eagerly, даже если вы явно поставите FetchType.LAZY . У парней был закономерный вопрос - почему? И знаете, к моему удивлению, нормального материала в сети я не нашёл. В общем, решил выпустить статью, которая не просто отвечает на этот вопрос, а даёт прямо хороший, развернутый ответ на то, почему Hibernate это делает. Иными словами, я в статье постараюсь детально пояснить: Что на самом деле такое FetchType.LAZY ? Почему @OneToOne не всегда возможно сделать Lazy именно в Java ? Почему при этом @ManyToOne можно сделать Lazy всегда (предполагая не final класс сущности)? Разберём по шагам.

https://habr.com/ru/companies/spring_aio/articles/1050462/

#hibernate #java #spring #orm #axelix #springdata

Когда Hibernate плевать на ваш OneToOne Lazy Loading

Привет, Друзья! На связи Михаил Поливаха, технический лидер проекта Axelix . В рамках программы Hibernate в Spring АйО Academy мы краем обсудили тему, касаемую того, что @OneToOne отличается от других...

Хабр

Одна маленькая ошибка в дизайне Java API, за которую потом приходится платить очень дорого

Привет, Друзья! Хотел написать короткий пост по мотивам одного казалось бы простого ПР-а, который мы недавно получили в рамках Axelix: Open Core продукта для решения основных известных болей при разработке Spring Boot приложений (кстати, give us a star!). В общем, контрибьютор пришёл к нам и исправил с виду совершенно безобидную проблему, которую мы упустили. Но на деле, эта проблема со временем могла привести к другим багам, которые дебажить было бы крайне тяжело. И я посчитал, что это стоит небольшой статьи, потому что сам помню проблемы в Spring Data, которые возникали из-за подобных просчётов. Я не буду погружать вас в детали того, что мы делали, просто покажу на абстрактном примере. Давайте с места в карьер. Посмотрите на этот код:

https://habr.com/ru/companies/spring_aio/articles/1046620/

#java #spring #axelix #immutable #api #backward_compatibility #bugs #software_design

Одна маленькая ошибка в дизайне Java API, за которую потом приходится платить очень дорого

Привет, Друзья! Хотел написать короткий пост по мотивам одного казалось бы простого ПР-а, который мы недавно получили в рамках Axelix : Open Core продукта для решения основных известных болей при...

Хабр

Axelix. Cпецназ для Вашей Spring Boot экосистемы

Привет, Хабр! Меня зовут Михаил Поливаха. Я думаю, что в Хабе Spring АйО меня уже относительно знают. В рамках Spring АйО мы довольно часто занимаемся подбором технического материала и его ревью. Сам же я довольно регулярно выступаю на конференциях, контрибьючу в Open Source и т.д. Также, часто наши материалы крутятся вокруг Java разработки и конечно же Spring-а. И данной пост, хоть и будет с одной стороны сильно связан с Java и Spring Framework, но, тем не менее, не похож на остальные. На днях произошло довольно знаковое событие. Мы с небольшой командой примерно год писали инструмент, который призван существенно упростить весь процесс отладки, тестирования и мониторинга Spring Boot приложений в production. И вот этот проект наконец-то получил первый Milestone Релиз. Проект называется Axelix .

https://habr.com/ru/companies/spring_aio/articles/1041836/

#spring #spring_boot #axelix #opensource #spring_framework

Axelix. Cпецназ для Вашей Spring Boot экосистемы

Привет, Хабр! Меня зовут Михаил Поливаха. Я думаю, что в Хабе Spring АйО меня уже относительно знают. В рамках Spring АйО мы довольно часто занимаемся подбором технического материала и его ревью. Сам...

Хабр