Hibernate / NHibernate - лучшая стратегия для отображения богатых объектных моделей и коллекций компонентов против коллекций ссылок на сущности - PullRequest
1 голос
/ 05 апреля 2011

У меня достаточно богатая модель данных, которую мне нужно отобразить, структура примерно такая:Базовый класс, у которого есть несколько вариантов, которые наследуются от него.Некоторые из вариантов могут также иметь подклассы.Каждый класс может содержать коллекции (вероятно, я буду использовать списки, так как мне важен порядок).Объекты в списках могут также содержать списки других объектов.

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

Одна вещь, которая мне не нравится в коллекциях составных элементов, эточто они должны быть определены в том же файле сопоставления, что и их родительские объекты.Аналогично, подклассы также должны быть определены в том же файле, что и их базовые классы, так что все они попадают в один и тот же файл отображения.

В hibernate есть возможность использовать объекты DTD для включения xml из других файлов, а использование аннотаций для сопоставлений - это еще один вариант.

Однако мне также нужно иметь реализацию .Net, и HHibernate не поддерживает ссылки на сущности DTD, и в прошлый раз, когда я смотрел, аннотации для NHibernate не были достаточно зрелыми, чтобы поддерживать сложное отображение.

Мне интересноПо опыту, другие имели отображение этого типа модели данных в Hibernate и NHibernate и любые предложения по передовому опыту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...