Нет, это не должно быть проблемой. Что делает аннотация @Transactional
, так это привязывает жизненный цикл транзакции к текущему потоку. Таким образом, каждый новый поток будет выполняться в отдельной транзакции.
Поэтому, когда ваш метод вызывается, Spring преобразует этот метод в транзакцию, поэтому в однопоточном контексте транзакция запускается и фиксируется, если вызов успешен, и откат (в зависимости от вашей конфигурации), если выдается исключение.
В многопоточном контексте каждый поток будет выполняться в отдельной транзакции.