Используя какие технологии базы данных я могу сохранять объекты? (Что-то, что НЕ требует, чтобы я заботился о отображении объектов в таблицы и обратно)? - PullRequest
5 голосов
/ 18 июня 2009

Мне нужно использовать объектно-ориентированное хранилище данных для проекта.
Это будет что-то среднее между вики и CMS.

Я еще не эксперт в области настойчивости.
Я полагаю, что Hibernate и Jackrabbit - это подходящие рамки, верно?

Насколько мне известно, Кролик не не поддерживает
аннотации или другие удобные приемы для картографирования
между экземплярами объекта и хранилищем данных.

Hibernate , с другой стороны, не поддерживает управление версиями
из коробки.

Что бы вы мне предложили использовать?
Могу ли я каким-то образом объединить обе эти структуры?

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

Спасибо!

EDIT
Я действительно хотел бы использовать то, что НЕ требует от меня позаботьтесь о отображении объектов в таблицы и обратно. Почему я должен? В каком веке мы живем? ;)

У меня был хороший опыт работы с JAXB (отображение объектов в XML и обратно в объектно-ориентированным способом), но JAXB не используется в базах данных.

Ответы [ 6 ]

4 голосов
/ 19 июня 2009

db4o - это объектно-ориентированная база данных. Поскольку это ОО, вы сохраняете объекты напрямую, поэтому вам не нужно поддерживать какие-либо сопоставления с таблицами.

2 голосов
/ 19 июня 2009

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

ОБНОВЛЕНИЕ : В прошлый раз, когда я пробовал NeoDatis (середина 2010 года), у него все еще были некоторые критические ошибки. Например, потеря питания может привести к повреждению базы данных. Осторожно!

2 голосов
/ 18 июня 2009

Oracle Berkeley DB Java Edition

Является прямым персистентным слоем (без сопоставления с реляционной базой данных).

0 голосов
/ 25 июня 2009

DB4o и Neodatis - это путь ...

Я думаю, что вам понадобится коммерческая лицензия, если ваш проект приносит прибыль .... Если так, то иди с neodatis ....

0 голосов
/ 18 июня 2009

Вы также можете использовать JPA . Несмотря на то, что они не самая популярная вещь после нарезки хлеба, они принимаются сообществом Java и выдвигаются сообществом Sun как новый стандарт. Hibernate безопасен и проверен, поэтому я лично буду придерживаться его.

0 голосов
/ 18 июня 2009

Я бы пошел с Hibernate. Просто потому, что у него такое обширное сообщество. Да, у меня большой (хороший) опыт общения с Хибом, поэтому я пристрастен.

Что касается управления версиями, хорошо, реализуйте его самостоятельно - это не сложно, просто сделайте копию (отражение - помощник) и сохраните объект.

...