Открыто

Продвинутый Hibernate: решение вызовов уровня Enterprise [Spring АйО] [Михаил Поливаха]

Тема в разделе "Курсы по программированию", создана пользователем Синичка99, 2 апр 2026.

Основной список: 12 участников

  1. 2 апр 2026
    #1
    Синичка99
    Синичка99 ЧКЧлен клуба

    Складчина: Продвинутый Hibernate: решение вызовов уровня Enterprise [Spring АйО] [Михаил Поливаха]

    4c301ce8f2d599e6f42cb19d824bc21b.png

    оптимизация → ограничения ORM → реальные enterprise-кейсы

    Кому подойдет
    • Java/Spring разработчики
      кто упирается в ORM/БД и хочет улучшить performance слоя общения с БД
    • Техлиды и архитекторы
      надежность, масштабирование, сложные домены
    • Тем, кто устал от магии Hibernate и хочет понимать, что происходит
    Что вы получите
    • Победите 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. Стратегии оптимизации: от базы к продвинутому тюнингу
    Цель: производительность «в моменте», применимо завтра
    • 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. Преодоление ограничений 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 и безопасность сессии
    Лектор: Поливаха Михаил
    Senior Software Engineer. Контрибьютор в проекты Spring, в частности в Spring Data
    Спикер крупнейших русскоязычных конференций: JPoint, Joker
    Спикер крупнейших в мире тематических конференций: Spring I/O Barcelona, Devoxx Belgium. Эксперт Spring АйО

    Цена: 29999 руб
    Скрытая ссылка
     
    Последнее редактирование модератором: 2 апр 2026
    1 человеку нравится это.
  2. Последние события

    1. Druny
      Druny участвует в складчине.
      23 апр 2026 в 15:26
    2. rus_imperial
      rus_imperial участвует в складчине.
      11 апр 2026
    3. Berni
      Berni участвует в складчине.
      10 апр 2026
    4. skladchik.com
      В складчине участвует 10 человек(а).
      10 апр 2026