О чём вебинар
JPA, Hibernate, Spring Data, JDBC, MyBatis, jOOQ — почему в Java существует столько способов поговорить с одной и той же реляционной базой?
На вебинаре разберём, чем отличаются уровни абстракции и persistence-модели, когда ORM действительно упрощает разработку, а когда начинает скрывать опасные детали, и где оказываются Spring Data JDBC, MyBatis и jOOQ.
В практической части возьмём одну задачу и реализуем её разными подходами, посмотрим на реальный SQL, поймаем Hibernate на N+1 и dirty checking, а затем сравним это с SQL-centric подходами.
Отдельно обсудим reactive data access и разберём, когда R2DBC действительно нужен, а когда JDBC вполне достаточно.
Цели вебинара:
Сформировать целостное представление о современных Java-фреймворках доступа к реляционным БД.
Понять различия между ORM, SQL-centric и repository-подходами.
Научиться выбирать подходящий инструмент в зависимости от задачи и требований проекта.
Понимать основные особенности и ограничения реактивного доступа к данным.
Предварительная подготовка:
Базовое знание Java;
Понимание REST-сервисов и Spring Boot на базовом уровне;
Знакомство с SQL и реляционными БД;
Общее представление о CRUD и транзакциях.
Содержание
1. JDBC и Spring JDBC — базовый уровень доступа к БД.
2. JPA и Hibernate — ORM и persistence context.
3. Spring Data JPA и Spring Data JDBC — repository abstraction и различия подходов.
4. MyBatis и jOOQ — SQL-centric подходы и контроль над SQL.
5. Альтернативные реализации JPA.
6. Reactive Data Access — JDBC vs R2DBC и когда нужен reactive подход.
7. Выбор фреймворка — компромиссы, типичные сценарии и практические рекомендации.
Другие разделы
Для кого
Разработчик