我有一个接受org.springframework.data.domain.Pageable作为参数的方法。
当用户请求页面= 0且大小= 20等时,我想将这些传递的值设为cache key

我所做的是

@Cacheable(key = "#pageable.number")
public Person getPersons(Pageable pageable)


给人一种恐惧:


  EL1008E:在类型的对象上找不到属性或字段“数字”
  'org.springframework.data.domain.PageRequest'-也许不公开?


我该如何做缓存键呢?

最佳答案

该属性称为pageNumber而不是number

@Cacheable(key = "#pageable.pageNumber")
public Person getPersons(Pageable pageable)


但是,可以质疑以这种方式使用缓存的一般意义。但这可能超出此问题的范围。

关于java - 如果方法参数为Interface,如何制作缓存键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48559371/

10-10 06:02