@CacheEvict уходит раньше коммита, и кэш врёт до перезапуска
В Spring кэш и транзакции существуют рядом, но не знают друг о друге — из-за этого корректный на первый взгляд код может приводить к расхождениям между данными в базе и кэше. Особенно легко столкнутьс...
Хабр