Зачем вам «хранить экземпляры класса в базе данных как сущности»?

StackOverflow https://stackoverflow.com/questions/808815

Вопрос

Я пытаюсь понять строку из API хранилища данных Google который говорит:

JDO использует аннотации на классах Java, чтобы описать, как экземпляры класса хранятся в хранилище данных в качестве сущностей, и как организации воссоздаются в качестве экземпляров при получении из хранилища данных.

Я уверен, что это очень простой вопрос для большинства людей.Но я не понимаю, почему объект класса необходимо хранить в базе данных, а затем извлекать.Почему бы вместо этого не определить, как вы хотите, чтобы хранилище данных выглядело для вашего приложения, и не хранить только соответствующие данные из свойств вашего класса по мере необходимости вместо того, чтобы хранить весь класс или постоянно сохранять одни и те же свойства повторно?Экземпляр класса содержит всю информацию, которая, как мне кажется, не обязательно должна находиться в базе данных — методы, переменные класса, переменные экземпляра — мы пишем это в нашем исходном коде, и нам не нужно воспроизводить он находится в базе данных — нам нужны только определенные соответствующие данные, с которыми работает класс, для хранения.Верно?Возможно, я не понимаю, что имеется в виду под приведенным утверждением.Пожалуйста, поправьте меня, если я неправильно понял.

Это было полезно?

Решение

Хранилище данных Google не является стандартной реляционной базой данных, такой как SQL Server или Oracle.Сущности сохраняются на основе их определения, а не традиционного метода сначала создания схемы, а затем сопоставления объекта со схемой.Я не думаю, что частные члены или методы хранятся вместе с данными, поэтому весь объект, включая методы, не сериализуется в хранилище данных.

Другие советы

Почему бы вместо этого не определить, как вы хотите, чтобы хранилище данных выглядело для вашего приложения, и не хранить только соответствующие данные из свойств вашего класса по мере необходимости вместо того, чтобы хранить весь класс или постоянно сохранять одни и те же свойства повторно?

Именно это и означает то, что вы процитировали:

JDO использует аннотации к классам Java, чтобы описать, как экземпляры класса хранятся в хранилище данных как сущности и как сущности воссоздаются как экземпляры при извлечении из хранилища данных.

Вы используете аннотации, чтобы сказать «сохранить поле X», «игнорировать поле Y» и т. д.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top