Добрый день!
Если не ошибаюсь, то вы столкнулись с этой проблемой:
https://www.baeldung.com/spring-open-session-in-view
Говоря проще, если у вас включен open-session-in-view, то вам не нужно использовать аннотацию Transactional, но при этом это является антипаттерном
Because OSIV creates a Session at the beginning of the request, the transactional proxy uses the current available Session instead of creating a brand new one.