La combinación hibernate @Transactional & ehcache @Cacheable siempre crea una transacción DB

Mientras realizaba la prueba de carga en nuestra aplicación, noté que si utiliza las anotaciones @Transactional y @Cacheable que hibernan siempre se crea una transacción de base de datos. ¿Hay una manera fácil de prevenir esto? Una forma más segura de resolver esto dentro de Spring es tener las siguientes clases / interfaces

Interfaz de ServicelayerClase anotada en caché que es solo un proxy / reenviar aAnotación transaccional de la clase de implentación.

Lo que pasa es lo siguiente

Llamada 1:

La transacción se creael método de clase se llamaresultado en caché y devuelto

Llamada 2:

La transacción se creaResultado en caché se devuelve

El resultado preferido debe ser:

Llamada 1:

La transacción se creael método de clase se llamaresultado en caché y devuelto

Llamada 2:

Resultado en caché se devuelve

Respuestas a la pregunta(1)

Su respuesta a la pregunta