在Spring缓存

时间:2016-12-07 22:25:58

标签: java spring spring-data spring-el spring-cache

我正在尝试使用@Cacheable为没有参数/参数的方法缓存数据。

以下是我的存储库代码:

public interface FooRepository extends JpaRepository<Foo, Integer>{

   @Cacheable(value = "fooTypes",key = "#root.target.getType().getName()")
   List<Foo> findAll();
}

和Foo实体

@Entity
@Table(name = "table_name”)
public class Foo implements Serializable
{

   private int id;

   private FooType type;

  public FooType getType(){
    return this.type;
  }

}


@Entity
Public class FooType {
    private String name;

    publc String    getName(){
        return this.name;
    }
}

现在,当我尝试调用findAll()方法时,抛出以下异常:

未捕获的运行时错误:org.springframework.expression.spel.SpelEvaluationException:EL1004E:(pos 13):方法调用:在com.sun.proxy上找不到方法getType()。$ Proxy162 type

有人可以建议如何使用FooType字段名称作为密钥配置我的缓存吗?

0 个答案:

没有答案