Java Advanced #5 (full). Hibernate, JPA, MapStruct, параметризованные тесты
Описание
Что будет сегодня?
- Hibernate, JPA
- Практика Hibernate, Spring Data JPA, дискриминаторы в сущностях
- Mapstruct
- Практика MapStruct, правильный DAO
- Параметризованные тесты
Ссылка на boosty: https://boosty.to/aleksei_khitev/posts/c8522ca7-c968-4a16-a215-343813be9d67?share=success_publish_link
где найдутся:
- материалы презентации в docx
- код примеров
- ответы на задания
Таймкоды:
00:01:03 ORM
00:04:46 JPA
00:07:49 Entity
00:10:29 Оптимистичная блокировка в Hibernate
00:12:27 Некоторые HibernateProperties
00:13:06 hbm2ddl.auto
00:16:01 Конфигурация EntityManagerFactory, TransactionManager
00:19:37 Аннотации PersistenceContext, Transactional
00:20:08 Запросы через EntityManager
00:23:01 Spring Data JPA
00:23:19 CrudRepository
00:24:20 Соглашение об именовании в Spring Data JPA
00:25:02 Аннотация EnableJpaRepositories
00:25:34 JpaRepository
00:25:47 Кастомные запросы в репозиториях
00:26:27 Новый sub-module с зависимостями
00:28:33 Абстрактный класс-сущность с дискриминатором
00:30:50 Классы-сущности-наследники с дискриминатором
00:31:45 Один-ко-многим, многие-к-одному
00:35:09 CrudRepository-ии для наших сущностей, включая абстрактную
00:37:53 Left Join Fetch
00:39:08 Конфигурация Spring для Spring Data JPA
00:40:18 Подготовка для написания тестов, полноценный конфиг для тестов
00:44:19 Добавление тестов для репозиториев
00:51:43 MapStruct
00:55:58 Настройка зависимостей и плагина
00:57:34 Добавление мапперов для неабстрактных сущностей
01:02:17 Добавление дополнительного общего маппера
01:04:03 Создание DAO
01:08:03 Подключение к модулю Desktop-а и настройка
01:10:18 Параметризованные тесты
Рекомендуемые видео






![Yahweh, Rapha, Elohim - Prophetic instrumental _ (Cover) [Prayer Music] (TCM - Remix).mp4](/images/video/2026-04-17/d0/66/d0660e87668c69a9d0f424c780cf372d.jpg?width=640)






![AXEGAO (Hardtekk + Slowed 0.7) TRVXER, HEXDLESS [edit]](/images/video/2026-06-18/72/e6/72e61fffca2be844136cd9a41f691974.jpg?width=640)






