Cache* annotations defined on interfaces/interface methods
@Cache* annotations on interfaces.
You should annotate only concrete classes (and methods of concrete classes) with
@Cache*. Annotating an interface (or an interface method) with
@Cache* requires using interface-based proxies. Since Java annotations are not inherited from interfaces, the proxying and weaving infrastructure will not be able to recognize the caching settings when using class-based proxies (
proxy-target-class="true") or the weaving-based aspect (
mode="aspectj"). As a result, the object will not be wrapped in a caching proxy.
IntelliJ IDEA 2023.3, Qodana for JVM 2023.3