如何缓存孩子?

时间:2012-03-19 18:08:39

标签: spring annotations ehcache

我使用ehcache-spring-annotations来缓存从服务方法返回的List:

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

然后在我的JSP中,我迭代了Category父对象的列表,以获得子类别子列表。

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

是否有配置设置我可以使用默认情况下缓存子类别(子)?我想,我可以创建一个新的服务方法getSubcategories(CategoryID)并将其设置为@Cacheable。然后我可以调用新方法而不是调用category.subcategories。

感谢。

1 个答案:

答案 0 :(得分:0)

您是否真的收到了jsp调用的错误?

缓存通常的工作方式是列表中的每个Category对象都将被缓存。如果这些对象具有属性,它们也将被缓存(作为键对象缓存中的Category对象的一部分)。只要findAllCategories()将子项作为Category的一部分返回,它们也应该被缓存。