Does Spring Cache abstraction support multi-value queries?
Instead of:
@Cacheable(\"books\") public Book findBook(ISBN isbn) {...}
Imagine a query that g
The query cache can indeed cache a list of results per query input. Be aware thought, that only the IDs of the returned entities will be saved in the query cache. You have to have the entity cache enabled separately for the returned entity type itself, if you want the properties to be cached too.
Spring Cache stores whole result under single cache key, so it is not possible to store individually each object returned in the collection. In case of caching result of a JPA Query you may use query cache. In other cases if memcached is an option for you, you can try Simple Spring Memcached and ReadThroughMultiCache annotation. It will store each element of the collection individually under dedicated cache key.
Worked for me. Here's a link to my answer. https://stackoverflow.com/a/60992530/2891027
TL:DR
@Cacheable(cacheNames = "test", key = "#p0")
public List<String> getTestFunction(List<String> someIds) {
My example is with String and not custom object.
Hope it helps at least a bit :)