标签:java spring spring-data-jpa spring-cache spring-data-redis
受到this answer的启发,我试图做到以下几点
@NoRepositoryBean
public interface CacheableRepository<T, ID extends Serializable>
extends JpaRepository<T, ID>, JpaSpecificationExecutor<T>, PagingAndSortingRepository<T, ID> {
@Cacheable()
T findOne(ID id);
@Cacheable()
List<T> findAll();
@Cacheable()
Page<T> findAll(Pageable pageable);
@CacheEvict(allEntries = true)
<S extends T> S save(S entity);
@CacheEvict(allEntries = true)
void delete(ID id);
}
然后使用此接口定义Used存储库
@CacheConfig(cacheNames={"uniqueCache"})
public interface SomeObjectRepo extends CacheableRepository<SomeObject, Long> {
@Cacheable(key = "someobject+#p0")
List<SomeObject> findByType(Integer type);
@Cacheable(key = "someobject+#p0")
List<SomeObject> findByCategory(String field);
@Cacheable(key="someobject+#p0.concat(#p1)")
List<SomeObject> findByCategoryAndWizardType_id(String field,Integer id);
}
作品:
上面的缓存适用于findByType,findByCategory,findByCategoryAndWizardType_id
不起作用:
对于CacheableRepository中定义的所有可缓存方法.似乎SomeObjectRepo上的CacheConfig注释不会影响CacheableRepository.
我的问题:
为什么注释不起作用?是否有解决方法使这个结构工作?
谢谢,
橡木
解决方法:
是的,当我们试图支持那种情况时,这就是奥利和我发现的东西.
我建议你在spring数据项目中创建一个问题来请求该功能.
标签:java,spring,spring-data-jpa,spring-cache,spring-data-redis 来源: https://codeday.me/bug/20190702/1357676.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。