У меня есть приложение Spring Boot 2.x с JPA / Hibernate и 2 отдельными менеджерами транзакций: 1 на каждого арендатора и 1 на приложение.Все сущности, репозитории и сервисы разделены в разные пакеты.
Всякий раз, когда я использую @Transactional
в своих сервисах, мне нужно явно квалифицировать txManager как @Transactional(value = "tenantTransactionManager")
или @Transactional(value = "applicationTransactionManager")
.
* 1007.* Это очень многословно и подвержено ошибкам, так как они являются просто литеральными строками.
Есть ли способ, которым я могу установить Менеджер транзакций на уровне пакета, поэтому мне не нужно явно устанавливать это при каждом использовании?
На основании ответа, данного в Несколько менеджеров транзакций с аннотацией @Transactional , я создал мета-аннотацию @TenantTransactional
и @ApplicationTransactional
, но это не позволяет мне установить readOnly
флаг, который необходим для каждого метода.