@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
メソッドは毎回実行されます。
私はここで何か間違ったことをしていますか、それともこれは意図されていますか?