Combinação hibernate @Transactional & ehcache @Cacheable sempre cria transação DB

Ao fazer o loadtesting em nosso aplicativo, notei que se você usar as anotações @Transactional e @Cacheable, o hibernate sempre cria uma transação de banco de dados. Existe uma maneira fácil de evitar isso? Uma maneira mais eficiente de resolver isso na primavera é ter as seguintes classes / interfaces

Interface servicelayerClasse anotada em cache que é apenas um proxy / encaminhamento paraClasse de implentação de anotação transacional

O que acontece é o seguinte

Ligue 1:

Transação é criadamétodo de classe é chamadoresultado armazenado em cache e retornado

Ligue 2:

Transação é criadaResultado em cache é retornado

O resultado preferido deve ser:

Ligue 1:

Transação é criadamétodo de classe é chamadoresultado armazenado em cache e retornado

Ligue 2:

Resultado em cache é retornado

questionAnswers(1)

yourAnswerToTheQuestion