我正在尝试@Cacheable
从同一个类中调用一个方法:
@Cacheable(value = "defaultCache", key = "#id")
public Person findPerson(int id) {
return getSession().getPerson(id);
}
public List<Person> findPersons(int[] ids) {
List<Person> list = new ArrayList<Person>();
for (int id : ids) {
list.add(findPerson(id));
}
return list;
}
并希望结果findPersons
也被缓存,但@Cacheable
注释被忽略,并且findPerson
每次都执行方法。
我在这里做错了什么,或者这是故意的?