Google App Engine / JDO: existe uma cache de sessão?

votos
0

Como não há maneira de unir tabelas usando o Google App Engine armazenamento de dados, eu loop sobre uma lista de entidades e olhar para cima as entidades relacionadas um por um, utilizando o valor de chave estrangeira.

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

Há uma boa chance de que eu vou precisar da mesma entidade referenciada mais de uma vez, e eu não quero ir para o armazenamento de dados duas vezes para a mesma entidade.

Existe algum tipo de cache de sessão que eu posso permitir eliminar as pesquisas duplicadas, ou eu tenho que fazer a minha própria?

Publicado 27/08/2009 em 07:38
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

JDO a especificação faz mandato cache de instâncias em uma PersistenceManager, de acordo com datanculeus, que forneceu ajuda com a funcionalidade App Engine JDO:

link para a página de cache DataNucleus

No entanto, eu sei que há ares ainda algumas coisas que faltam a partir da implementação appengine, como mencionado aqui:

App Engine recursos não suportados

A boa notícia é que o cache não parece estar nessa lista. A má notícia é que eu não poderia encontrar a confirmação de que o nível 1 cache é implementado. Não deve ser tão difícil para testar embora - tempo seu código recebendo 100 entidades diferentes, então o tempo ficando a mesma entidade 100 vezes.

Respondeu 27/08/2009 em 17:40
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more