Как работает @Transactional в тестах?

Middle
257 просмотров
AFK Offer AI

В тестах @Transactional автоматически делает rollback после каждого теста — БД остаётся чистой. @DataJpaTest добавляет @Transactional по умолчанию. Подводный камень: если тестируешь с RANDOM_PORT (реальный HTTP), @Transactional не работает — сервер и тест в разных потоках/транзакциях. Для интеграционных тестов с реальным HTTP: очистка БД в @AfterEach или @Sql-скрипты. @Commit/@Rollback(false) — оставить данные после теста (для дебага).

Следующий вопрос

Что такое warm-up период JVM и как он влияет на производительность?