db4o для сохранения идентичности объектов - PullRequest
0 голосов
/ 26 мая 2009

Есть ли способ сохранить идентичность объекта в db4o.

Предположим, я храню BigDecimal во встроенном db4o.

Когда я читаю его дважды, я получаю два разных объекта с одинаковым значением (что совершенно очевидно).

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

Ответы [ 3 ]

1 голос
/ 08 июня 2011

По моему опыту, выполнение одного и того же запроса дважды на одном и том же ObjectContainer должно каждый раз возвращать одни и те же (идентичные) объекты.

Вы не должны закрывать и снова открывать ObjectContainer между запросами, если вам нужна идентификация объектов.

0 голосов
/ 05 июня 2011

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

0 голосов
/ 13 октября 2009

Db4o использует идентификаторы и UUID внутри, и вы можете получить к ним доступ при необходимости. Также стоит прочитать это .

...