Андрей Беляев — Hibernate 6: что нового и почему это важно

preview_player
Показать описание
Ближайшая конференция — JPoint 2025, 3–4 апреля (Москва + трансляция).
— —
В марте вышла стабильная мажорная версия Hibernate 6. Помимо смены названия пакетов с javax на jakarta и переезда на Java 11, появилось несколько нововведений, которые могут заинтересовать тех, кто активно использует JPA в своей работе. Спикер рассмотрит как внешние изменения — новые классы и API, так и внутренние. Вторые не так заметны разработчикам, но более важны, потому что от них зависит быстродействие фреймворка.

Что видно сразу:

— Новый маппинг типов данных — теперь не нужны сторонние библиотеки, чтобы работать с JSON.
— Поменялась генерация ID: API стал более гибким и менее запутанным.
— SQL в логах стало намного проще читать.

Что поменялось внутри:

— Semantic Query Model — новая структура данных для представления запросов в фреймворке, что открывает новые возможности для написания запросов. Например, появилась поддержка оконных функций.
— Поменялся обход дерева сущностей, теперь используется обход в ширину, а не в глубину.

В докладе разберем эти нововведения на примерах и посмотрим, на что стоит обратить внимание при переезде на эту версию.

Спикер — Андрей Беляев (Haulmont).

#hibernate_6 #jpa #semantic_query_model #orm #data_access
Рекомендации по теме
Комментарии
Автор

было бы интересно узнать перформанс-сравнение Hibernate5 vs Hibernate6.

ВостряковАлександр-пы
Автор

Супер, добавили еще одну потенциальную n+1

СергейФедоров-эд
Автор

Меня очень волнуют batch insertы, когда я пытаюсь инсертить большое количесто объектов через spring jpa, hibernate выключает батчинг, потому что идшник аутоинкрементится базой данных, а хибер хочет всегда его получать назад. Единствыенный способ это обойти это через jdbcTemplate. Поменялось ли что-то в этом смысле?

ogyct
Автор

Крутой доклад, спасибо! Единственное, хотелось бы увидеть, почему 15 джойнов по примеру в конце, не очень понял (в презентации по ссылке вообще этого примера нет). Если мы строим "тернарное" дерево высотой 2, разве у нас не выйдет в сумме 12 джойнов? 3 от корня, плюс по 3 на каждый элемент на каждый лист исходящий от корня, 3 + 3 * 3 = 12. Может конечно я как-то не так понял объяснение Андрея и Алексея

rustemgaliev
Автор

Про embeddedId неверно. Лучше почитайте доку гибера.

soupsoup
Автор

А что это за должность такая, девелопер-адвокат? Расскажите, пожалуйста. Самый крутой программист значит?))

daryamarkova
Автор

а вам не приходило в голову что то чего вы изначально хотели избежать на самом деле проще, быстрее и эффективнее монстра которого вы породили?

alexeyyushin