Pergunta

Eu estou tentando entender uma linha do Google Datastore API que diz:

JDO usa anotações em classes Java para descrever como instâncias da classe são armazenados no armazenamento de dados como entidades e como as entidades são recriado como instâncias quando recuperados do armazenamento de dados.

Estou certo de que este é uma pergunta muito básica para a maioria das pessoas. Mas eu não entendo por que o objeto de classe precisa ser armazenado no banco de dados e mais tarde recuperada. Por que não, em vez definir o que você deseja que o armazenamento de dados para olhar como para a sua aplicação e armazenar apenas os dados relevantes de suas propriedades de classe, conforme necessário, em vez de armazenar toda a classe ou sempre armazenar as mesmas propriedades várias vezes? A instância da classe contém todos os tipos de informações que, parece-me, não precisa estar no banco de dados - métodos, variáveis ??de classe, variáveis ??de instância - que escrevemos essas coisas em nosso código fonte e que não precisamos para reproduzir -lo no banco de dados - nós só precisamos de alguns dados relevantes que a classe está operando para ser armazenado. Certo? Talvez eu não estou entendendo o que significa a declaração citada. Por favor me corrija se eu ter entendido mal.

Foi útil?

Solução

O Google Datastore não é um banco de dados relacional padrão como SQL Server ou Oracle. Entidades são armazenados com base na sua definição, em vez do método tradicional de criação de um esquema em primeiro lugar, em seguida, mapear um objeto para o esquema. Eu não acho que membros privados ou métodos são armazenados junto com os dados, por isso não é como todo o objeto, incluindo métodos, é serializado para o armazenamento de dados.

Outras dicas

Por que não, em vez definir o que você deseja que o armazenamento de dados para olhar como para a sua aplicação e armazenar apenas os dados relevantes de suas propriedades de classe, conforme necessário, em vez de armazenar toda a classe ou sempre armazenar as mesmas propriedades várias vezes?

Isso é exatamente o que você citou na verdade significa:

JDO usa anotações sobre classes Java para descrever como instâncias da classe são armazenados no armazenamento de dados como entidades, e como entidades são recriados como instâncias quando recuperados do armazenamento de dados.

Você pode usar anotações para dizer "campo loja X", "ignorar campo Y", etc.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top