0

由于无法使用 Google App Engine 数据存储连接表,因此我遍历实体列表并使用外键值逐一查找相关实体。

for (Employee staff: staffList){
   Employee manager = pm.getObjectById(Employee.class, staff.getManagerId());
}    

很有可能我将多次需要相同的引用实体,并且我不想为同一个实体两次访问数据存储区。

是否有某种会话缓存可以启用以消除重复查找,还是我必须自己滚动?

4

1 回答 1

1

根据 datanuleus 的说法,JDO 规范确实要求在 PersistenceManager 中缓存实例,他为应用引擎 JDO 功能提供了帮助:

链接到 datanucleus 缓存页面

但是,我知道 appengine 实现中仍然缺少一些东西,如下所述:

应用引擎不支持的功能

好消息是缓存似乎不在该列表中。坏消息是我无法确认已实现 1 级缓存。不过,测试应该不难——你的代码获得 100 个不同的实体,然后获得相同的实体 100 次。

于 2009-08-27T16:40:50.980 回答