我正在尝试使用@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字段名称作为密钥配置我的缓存吗?