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