Как я могу кэшировать детей? - PullRequest
0 голосов
/ 19 марта 2012

Я использую ehcache-spring-annotations для кэширования списка, возвращаемого методом сервиса:

@Cacheable(cacheName = "categoriesCache")
public List<Category> findAllCategories()

Затем в моем JSP я перебираю список родительских объектов категории, чтобы получить список дочерних подкатегорий.

   <c:forEach var="subcategory" items="${category.subcategories}">

Есть ли параметр конфигурации, который я мог бы использовать для кэширования подкатегорий (дочерних) по умолчанию? Полагаю, я мог бы создать новый метод сервиса getSubcategories (CategoryID) и установить его как @Cacheable. Тогда вместо вызова category.subcategories я мог бы вызвать новый метод.

Спасибо.

1 Ответ

0 голосов
/ 19 марта 2012

Вы действительно получаете сообщение об ошибке для вызова jsp?

Способ кэширования обычно работает так: каждый объект Category в списке будет кэшироваться.Если эти объекты имеют атрибуты, они также будут кэшироваться (как часть объекта Category в кеше ключевого объекта).Пока findAllCategories () возвращает дочерние элементы как часть Category, они также должны кэшироваться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...