Spring可缓存 - 使用SpEL过滤掉空集合

use*_*231 5 java spring spring-integration spring-el

我想知道有没有办法使用SpEL来过滤掉像空集合这样的值.

我的缓存当前过滤掉空值:

  @Cacheable(value = "groupIdToGroupNames",unless = "#result == null")
   public Map<Long, Collection<String>> findAllBySearchCustomerKey(final long groupId) {
    return idToNameClient.findAllGroupMembersById(groupId);
   } 
Run Code Online (Sandbox Code Playgroud)

我试图找到一种方法来筛选出大小为0但不为null的组.有没有办法通过使用@Cacheable的参数来做到这一点?

任何帮助将非常感激.

Art*_*lan 17

像这样的东西

unless = "#result==null or #result.size()==0"
Run Code Online (Sandbox Code Playgroud)


Ale*_*lex 13

unless = "#result==null or #result.isEmpty()" 为我工作。

  • 可能这对我来说更易读,而不是#result.size()==0。也同意@nvoigt,我们应该对任何答案添加解释。 (2认同)