0

这是我的情况;假设我有 2 张桌子;员工和责任在哪里Responsibility.employee_id = employee.id

有时我们需要Responsibility.employee_id手动更新,没有办法避免这种情况,有时需要手动完成。当我们这样做时,cayenne 认为不需要重新获取对象,因为它不知道它已被更新。

问:我想完全禁用cayenne 中的缓存。我希望从数据库中获取所有内容。这可能吗?

4

1 回答 1

0

完全禁用缓存是一个加载的问题。在不同的情况下,它可能意味着不同的东西。相反,我会回答如何刷新你们的关系。解决方案是在选择对象时使用预取。例如:

SelectQuery query = new SelectQuery(Responsibility.class);
query.addPrefetch("employee");
List<Responsibility> responsibilities = context.performQuery(query);

以上为您提供了新的 Responsibility 对象,并刷新了它与 Employee 的关系。

于 2015-04-22T06:36:52.807 回答