Die Kombination aus Ruhezustand @Transactional & ehcache @Cacheable erstellt immer eine DB-Transaktion

Beim Testen der Auslastung unserer Anwendung ist mir aufgefallen, dass bei Verwendung der Annotionen @Transactional und @Cacheable im Ruhezustand immer eine Datenbanktransaktion erstellt wird. Gibt es eine einfache Möglichkeit, dies zu verhindern? Eine aufwändigere Möglichkeit, dies innerhalb des Frühlings zu lösen, besteht darin, folgende Klassen / Schnittstellen zu haben

Servicelayer-SchnittstelleCacheable annotierte Klasse, die nur ein Proxy / eine Weiterleitung an istImplementierungsklasse für Transaktionsanmerkungen

Was passiert, ist das Folgende

Anruf 1:

Transaktion wird erstelltKlassenmethode wird aufgerufenErgebnis zwischengespeichert und zurückgegeben

Anruf 2:

Transaktion wird erstelltDas zwischengespeicherte Ergebnis wird zurückgegeben

Das bevorzugte Ergebnis sollte sein:

Anruf 1:

Transaktion wird erstelltKlassenmethode wird aufgerufenErgebnis zwischengespeichert und zurückgegeben

Anruf 2:

Das zwischengespeicherte Ergebnis wird zurückgegeben

Antworten auf die Frage(1)

Ihre Antwort auf die Frage