Комбинация hibernate @Transactional & ehcache @Cacheable всегда создает транзакцию БД

Выполняя нагрузочное тестирование нашего приложения, я заметил, что если вы используете аннотации @Transactional и @Cacheable, то hibernate всегда создает транзакцию базы данных. Есть ли простой способ предотвратить это? Более простой способ решить эту проблему весной - использовать следующий класс / интерфейсы

Servicelayer-interface Cacheable annotated class which is just a proxy/forward to Transactional annotation implentation class

What happens is the following

Звоните 1:

Transaction gets created class method gets called result cached & returned

Звоните 2:

Transaction gets created Cached result gets returned

The prefered result should be:

Звоните 1:

Transaction gets created class method gets called result cached & returned

Звоните 2:

Cached result gets returned

Ответы на вопрос(1)

Решение Вопроса

Вам нужно изменить относительный порядок@Transactional а также@Cacheable аспекты.

Это можно настроить с помощьюorder атрибут<tx:annotation-driven> а также<cache:annotation-driven>, Увидеть8.2.4.7 Заказ консультации для значения значений порядка.

Ваш ответ на вопрос