Что ж, ошибка самоочевидна: вы должны запускать свой код JPA внутри транзакции, и похоже, что это не так, следовательно, TransactionRequiredException
.Из его javadoc:
Выдается провайдером постоянства, когда транзакция требуется, но не активна.
Существует множество способов обработки транзакций с помощью Spring, один из которых заключается в том, чтобы аннотировать вашу службу с помощью @Transactional
(при условии, что у вас есть <tx:annotation-driven/>
в конфигурации Spring).
Поскольку вы мало рассказали нам о том, как вы используете Spring для этого, я предлагаю проверить Глава 9. Управление транзакциями для получения более подробной информации.