Продвинутый Hibernate:
решение вызовов уровня Enterprise
12 часов, 3 блока:
оптимизация → ограничения ORM → реальные enterprise-кейсы
Продажи закрыты
N+1
OFFSET
@BatchSize
@TenantId
Лектор
Михаил Поливаха
Контрибьютор Spring
Спикер JPoint/Joker
Эксперт Spring АйО
12 часов
Hibernate / JPA / производительность
Soft Delete / Multi-tenancy / Outbox
Онлайн занятия группой с лектором
Кому подойдет
  • Java/Spring разработчики
    кто упирается в ORM/БД и хочет улучшить performance слоя общения с БД
  • Техлиды и
    архитекторы
    надежность, масштабирование, сложные домены
  • Тем, кто устал
    от магии Hibernate
    и хочет понимать, что происходит
Что вы получите
N+1
OFFSET
@BatchSize
@TenantId
  • Победите N+1 в сложных графах, где JOIN FETCH приводит к декартову произведению или MultipleBagFetchException.
  • Оптимизируете тяжелую пагинацию, внедрив Slice и SQL Window Functions, чтобы база не «ложилась» на подсчете миллионов строк.
  • Реализуете Fast Pagination (Seek Method) для бесконечных списков, сохраняя стабильный отклик (O(1)) независимо от глубины прокрутки.
  • Ускорите пакетную обработку данных в 10+ раз, используя StatelessSession и Bulk API без оверхеда на Dirty Checking и L1-кэш.
  • Внедрите консистентный Soft Delete, который не ломает уникальные индексы и автоматически фильтрует данные на уровне движка Hibernate 6.
  • Спроектируете SaaS-архитектуру на @TenantId, обеспечив изоляцию данных (Shared Schema) без написания сотен ручных фильтров.
  • Научитесь «готовить» Hibernate для Big Data: от обработки гигантских коллекций до маппинга рекурсивных CTE и деревьев.
  • Гарантируете надежность через Transactional Outbox: Свяжете БД и брокеры сообщений (Kafka/Rabbit) без потери данных и без использования тяжелых XA-транзакций.
Для корпоративных клиентов
  • Условия сотрудничества обсуждаются отдельно
  • Эксперт разберет конкретно ваши проблемы и вашу ситуацию на проекте, после чего предложит пути решения проблем
Программа курса
Блок 1
4 часа
Стратегии оптимизации: от базы к продвинутому тюнингу
Цель: производительность «в моменте», применимо завтра
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 columns
CLOB/BLOB,
@DynamicUpdate
и bytecode enhancement для ленивой загрузки
Блок 2
2 часа
Преодоление ограничений ORM: маппинг и выборки
Цель: framework для типичных вызовов ORM/Hibernate
Pageable + FETCH JOIN
Мина замедленного действия (in-memory pagination), двухэтапная выборка и DTO-проекции
MultipleBagFetchException
Почему нельзя fetch нескольких коллекций, List → Set: плюсы и скрытые риски и альтернативы
Блок 3
6 часов
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 и безопасность сессии
Формат обучения
Формат:
онлайн созвоны группой с лектором
Доступ к материалам:
90 дней
Общение:
чат/QA-сессии
Лектор
Поливаха Михаил
Senior Software Engineer
  • Контрибьютор в проекты Spring, в частности в Spring Data
  • Спикер крупнейших русскоязычных конференций: JPoint, Joker
  • Спикер крупнейших в мире тематических конференций: Spring I/O Barcelona, Devoxx Belgium
  • Эксперт Spring АйО
Spring АйО
Русскоязычное сообщество Java и Spring-разработчиков, основанное и поддерживаемое широко признанными экспертами в области Spring, Hibernate и Enterprise разработке в целом
Повышаем экспертность, находим решения и остаемся в курсе изменений экосистемы
FAQ
Ждем разработчиков с опытом в Enterprise и знанием Hibernate. Специфических навыков не требуется — все тонкости разберем на детальных примерах в рамках курса.
Продажи
закрыты