I am able to use Query Cache with Spring Data JPA for my custom query methods like below.
public interface CountryRepository extends JpaRepository
findAll(), findOne() etc. are not Query(s). Any caching specifications on the entity take effect in these methods.
For example,
@Cacheable @Entity public class User { }