Можно ли над методом рест-контроллера ставить аннотацию @Transactional? Будут ли проблемы, если одновременно по этому URL одновременно будут пытаться получить данные несколько клиентов?
Ответ
Нельзя, однозначно и бесповоротно. Будут проблемы связанные с обработкой транзакций.
Здесь я укажу некоторые ссылки:
Слой использования @Transactional анотации.
Что лучше всего с @Transactional, вы должны положить его, если у вас
есть доступ к базе данных.
См. «Понимание реализации декларативной транзакции Spring Framework»
вы просто аннотируете свои классы аннотацией @Transactional, добавляете в свою конфигурацию строку (`
Какой слой использовать для транзакций и сессии Hibernate
Лучше всего использовать управление транзакциями Spring. Аннотации
@Transactional для использования транзакций. На заводе-изготовителе
используется LocalSessionFactoryBean. Все бобы управляются весной,
поэтому у вас нет забот.
Spring Hibernate - различие между CrudRepository и SessionFactory
Просто вы можете найти описание этих аннотаций на сайте docs Spring.
В ближайшее время, чтобы ответить на ваши вопросы, разница между ними
заключается в том, что они используются для разных целей.
@Transactional используется для демаркации кода, участвующего в транзакции. Он помещается на классы и методы.
@Repository используется для определения Spring-компонента, поддерживающего транзакции, его также можно использовать в DI.
Они могут использоваться как в одном классе.
Комментариев нет:
Отправить комментарий