Я заинтересован в использовании db4o в качестве механизма сохранения в своем настольном приложении, но меня беспокоит пара вещей.
1-я проблема: случайно вырезать очень сложные графы объектов.
Скажем, у меня есть дерево с высотой 10, и я извлекаю корень, как он справляется со хранением корневого объекта снова?
Насколько я понимаю, он не получает все дерево, он выбирает первые 5 слоев, на которые есть ссылки.
Итак. Если я внесу тривиальное изменение в корень, а затем сохраню его, он отрежет узлы дальше по дереву, по сути удалив их.
Если нет .. как он справляется с этим?
2-я проблема: извлечение подграфов в более крупном объектном графе
Используя мой пример дерева сверху ... Если база данных содержит 1 массивное дерево, могу ли я запросить один узел внутри него? Поскольку .store
был вызван только один раз, неужели моя база данных содержит только 1 «запись» ?
Спасибо.