@Cacheable 에서 condition을 여러개 주는것이 가능한가요


Spring 에 Cacheable 어노테이션을 이용하여 캐싱을 하려합니다.

condition에 조건이 여러개가 들어가야할꺼같은데

@Cacheable(value = "item", condition = "#filter.size == null")

로는 잘 동작 하는데

@Cacheable(value = "item", condition = "#filter.size == null, #filter.color == null")

는 동작을 안하는거같네요

@Cacheable(value = "item", condition = "#filter.size == null", "#filter.color == null")

여기에 코드를 입력하세요

요것도 아닌거같고 궁금합니다.

  • 2016년 03월 17일에 작성됨

조회수 349


1 답변


좋아요
4
싫어요
채택취소하기

@Cacheable annotation의 condition은 SpEL(Spring Expression Language) expression이므로 condition = "#filter.size == null and #filter.color == null"이나 condition = "#filter.size == null or #filter.color == null 과 같은 식으로 사용하면 될 것 같습니다.

참고:

  • 2016년 03월 17일에 작성됨
    Polyglot Programmer

  • 감사합니다 왜 생각을 못했을까요....저 간단한걸    김진형   2016.3.17 11:17     
  • SpEL에서 &&, || 가 되는 것 이었나요? 아마 and, or 로 써야됬던걸로 기억하는데... 아닌가요?     허대영(Daeyoung Heo)   2016.3.17 11:28     
  • && 로 잘 동작하네요!    김진형   2016.3.17 11:37     
  • 허대영님 말씀대로 논리연산자는 and, or를 사용하는게 맞네요. 수정했습니다.    이확영   2016.3.17 16:02     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close