Iti*_*pta 5 java caching ehcache redis spring-boot
我有一个Person其中有id和name。
Id当我通过方法搜索返回Person对象时,我想将其作为缓存键,但返回的数据在注释标记name中不可访问,但可以在标记中访问。keyCacheablenameunless
@Cacheable(value = "Cache", key = "#result.name", unless="#result.name == 'Foo'")
public Person getById(String id){}
Run Code Online (Sandbox Code Playgroud)
如果我使用key = "#result.name"它会给我例外:
EL1007E:在 null 上找不到属性或字段“名称”
我缺少什么,如何访问key标记中方法返回的数据?
在您的用例中,这是不可能的,因为缓存键是从您传递给方法的参数生成的,即String id. name因此Spring尝试从字符串中提取参数。这是不可能的。
即使可以使用结果的名称作为缓存键,缓存也不会在您通过 查询时起作用id。
| 归档时间: |
|
| 查看次数: |
5004 次 |
| 最近记录: |