- Регистрация
- 8 Сен 2016
- Сообщения
- 563.150
- Реакции
- 269.199
Складчина: Продвинутый Hibernate: решение вызовов уровня Enterprise [Spring АйО] [Поливаха Михаил]
Программа курса
Блок 1
Стратегии оптимизации: от базы к продвинутому тюнингу
Цель: производительность «в моменте», применимо завтра
-findById vs getReferenceById (Proxy)
Минимизируем количество SELECT при сохранении связей на ровном месте
-Page vs Slice vs List
Разбор ситуаций, когда count(*) становится непозволительной роскошью
-@BatchSize
Лечение N+1 в ситуациях, когда JOIN FETCH либо невозможен, либо от него больше вреда, чем пользы
-StatelessSession
Bulk-задачи в обход Persistence Context, без dirty checking и L1 cache
-Pagination evolution
Почему OFFSET убивает БД. Реализация
Keyset (Seek-based) pagination. Разбор кейсов, когда Keyset pagination не стоит свеч
-Heavy columnsCLOB/BLOB, @DynamicUpdate и bytecode enhancement для ленивой загрузки
Блок 2
Преодоление ограничений ORM: маппинг и выборки
Цель: framework для типичных вызовов ORM/Hibernate
-Pageable + FETCH JOIN
Мина замедленного действия (in-memory pagination), двухэтапная выборка и DTO-проекции
-MultipleBagFetchException
Почему нельзя fetch нескольких коллекций, List → Set: плюсы и скрытые риски и альтернативы
Блок 3
Enterprise-кейсы: архитектура, надежность и big data
Цель: разбор реальных enterprise проблем и решений
-Soft Delete
Как выглядит правильная и производительная реализация Soft Delete в современных версиях Hibernate.Скрытые риски @SoftDelete
-Gigantic Collections
Как жить, когда в @OneToMany могут быть сотни или даже тысячи элементов: почему обычные коллекции тут антипаттерн
-Transactional Outbox
Доставка в Kafka/RabbitMQ без XA, polling publisher и очередь в БД
-Хранение Иерархии в БД
Проверенные временем алгоритмы хранения графов и древовидных структур в БД. Adjacency List vs Materialized Path, Recursive CTE имаппинг в JPA
-Multi-tenancy в 2026
Безопасная multi-tenancy архитектура. @TenantId в Hibernate 6, стратегии shared/separate schema/db, TenantResolver и безопасность сессии
СКАЧАТЬ
Программа курса
Блок 1
Стратегии оптимизации: от базы к продвинутому тюнингу
Цель: производительность «в моменте», применимо завтра
-findById vs getReferenceById (Proxy)
Минимизируем количество SELECT при сохранении связей на ровном месте
-Page vs Slice vs List
Разбор ситуаций, когда count(*) становится непозволительной роскошью
-@BatchSize
Лечение N+1 в ситуациях, когда JOIN FETCH либо невозможен, либо от него больше вреда, чем пользы
-StatelessSession
Bulk-задачи в обход Persistence Context, без dirty checking и L1 cache
-Pagination evolution
Почему OFFSET убивает БД. Реализация
Keyset (Seek-based) pagination. Разбор кейсов, когда Keyset pagination не стоит свеч
-Heavy columnsCLOB/BLOB, @DynamicUpdate и bytecode enhancement для ленивой загрузки
Блок 2
Преодоление ограничений ORM: маппинг и выборки
Цель: framework для типичных вызовов ORM/Hibernate
-Pageable + FETCH JOIN
Мина замедленного действия (in-memory pagination), двухэтапная выборка и DTO-проекции
-MultipleBagFetchException
Почему нельзя fetch нескольких коллекций, List → Set: плюсы и скрытые риски и альтернативы
Блок 3
Enterprise-кейсы: архитектура, надежность и big data
Цель: разбор реальных enterprise проблем и решений
-Soft Delete
Как выглядит правильная и производительная реализация Soft Delete в современных версиях Hibernate.Скрытые риски @SoftDelete
-Gigantic Collections
Как жить, когда в @OneToMany могут быть сотни или даже тысячи элементов: почему обычные коллекции тут антипаттерн
-Transactional Outbox
Доставка в Kafka/RabbitMQ без XA, polling publisher и очередь в БД
-Хранение Иерархии в БД
Проверенные временем алгоритмы хранения графов и древовидных структур в БД. Adjacency List vs Materialized Path, Recursive CTE имаппинг в JPA
-Multi-tenancy в 2026
Безопасная multi-tenancy архитектура. @TenantId в Hibernate 6, стратегии shared/separate schema/db, TenantResolver и безопасность сессии
СКАЧАТЬ
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- Яблоки в корзине акварелью [lectoroom] [Елена Базанова]
- Go getter 2. Unit Hello [English box] [Инесса Черникова]
- Практики октября [Сергей Лазарев]
- Планерка (октябрь 2026) [Александр Литвин]
- [Выкройки] Блузка, №1363. Размер 40-54. Рост 164-170 [Grasser]
- 20 теплых осенних блюд [Марина Калинина]
- [SEO] Анализ конкурентов. Отслеживание обратных ссылок [standard №59 на 1 месяц с 01.11.2026] [ahrefs.com]
- [Вязание] Вязаный спицами сверху без швов укороченный пуловер Oat плетённым узором [Вяжи.ру] [Amy Baldwin]