当前位置: 首页 > 知识库问答 >
问题:

如何使用对象的属性作为@Cacheput的键?

邓德厚
2023-03-14
public interface MyRespository extends CrudRepository<MyEntity, Long> {
    @CachePut(value = "mycache", key = "id")
    @Override
    public <S extends MyEntity> S save(S entity);
}

@Entity
public class MyEntity {
    @Id
    private Long id;

    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }
}

结果:

org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 0): 在类型为'org.springframework.cache.interceptor.CacheExpressionRootObject'的对象上找不到属性或字段'id' - 也许不是公共的?

共有1个答案

钱经业
2023-03-14

使用键=“#a0.id”通过索引访问对象是可行的,但我仍然不知道为什么不能通过名称访问对象。

 类似资料:
  • 问题内容: 我想在REST应用程序中接受和响应JSON对象。我需要发送和接收的数据在.properties文件中。我已经阅读了它们,现在位于Object(From )中。是否可以在不实现新类的情况下编组和解组对象? 我在Weblogic服务器中使用Jax-rs API。 问题答案: 对WebLogic不太熟悉,因此我不知道它使用的是哪个版本的Jersey(1.x或2.x),但是使用1.x,您可以简

  • 今天,我意识到让数组像字典一样运行更有意义,这样我就可以通过名称而不是数字索引访问特定元素。我希望能够执行而不是(即使我声明了一个将submitButton映射到请求的索引的枚举)。 这是可行的,但我现在允许一堆欺骗我的代码库,这是很糟糕的。我希望对象知道,只有类型的东西才能放入其中。 我可以用这些字段声明一个类,因为我希望它们的数量在将来可以动态添加,所以下面的操作是不可行的。

  • 问题内容: 我有一个像这样的JSON字符串: 我想将属性更新为,如果值为,并且值为。 我已经到了这一点,但是不确定如何进行: 我不知道怎么去的是一个孩子。 提前致谢。任何指针都很棒。 问题答案: 您可以使用属性作为键来访问对象: 对于您的示例,请尝试:

  • 本文向大家介绍如何使用jQuery迭代JavaScript对象的属性?,包括了如何使用jQuery迭代JavaScript对象的属性?的使用技巧和注意事项,需要的朋友参考一下 使用该方法可以迭代JavaScript对象的属性。 上面的照片- 将用于任何集合遍历,无论是一个对象或一个数组。我们来看另一个例子- 示例 输出结果 上面的照片-

  • 问题内容: 我们如何使JSON属性名称动态化。例如 序列化此对象时,它另存为,但我想使键也像一样动态。任何帮助深表感谢。 问题答案: 您可以使用JsonAnySetter JsonAnyGetter批注。您可以在后面使用实例。万一您总是可以在其他情况下使用或其他实现。下面的示例显示了使用此方法并根据需要创建任意数量的-s是多么容易: 上面的代码打印:

  • 我有一个足球桌,我试图按赢得的比赛排序。 不知什么原因,我无法把桌子整理好。它只是停留在未排序的顺序中。我认为这与collection.sort位置的sortbyvalues函数有关。 你知道如何使用类中的won值对HashMap进行排序吗? 谢谢 感谢@Justin和@Falsarella。