NHibernate Свободно против атрибутов - PullRequest
14 голосов
/ 25 марта 2009

Я заинтересован в перемещении некоторых конфигураций / отображений NHibernate в код, чтобы помочь с некоторыми проблемами обслуживания. Кто-нибудь может дать какие-нибудь советы / плюсы / минусы / сравнения Fluent NHibernate против NHibernate.Mapping.Attributes?

У меня есть некоторый опыт работы с аннотациями Java Hibernate, который мне понравился, но мне любопытно, сопоставимы ли атрибуты NHibernate и предоставляет ли Fluent какие-либо существенные преимущества и недостатки, которые следует учитывать.

Ответы [ 2 ]

19 голосов
/ 25 марта 2009

Я не думаю, что кто-то делал какие-либо прямые сравнения. Все зависит от того, насколько вам удобно украшать свои объекты атрибутами. Fluent NHibernate направлен на то, чтобы позволить вам использовать NHibernate с полностью незагрязненной моделью, в то время как атрибуты требуют, чтобы вы изменили свои сущности; это постоянная проблема, просачивающаяся в ваш домен. Для вас проблема в том, стоит ли выбирать атрибуты или нет.

Беглый NHibernate также бросает на стол еще несколько вещей, а не только сопоставления. Также есть автоматическое сопоставление , которое позволяет автоматически сопоставлять ваш домен. Существует поддержка соглашений , которая позволяет значительно сократить количество повторений в дизайне. Я не буду повторять все, но вы можете прочитать больше на Fluent NHibernate wiki .

0 голосов
/ 05 декабря 2011

NHibernate теперь поддерживает JPA (называемый NPersistence или NPA для платформы .NET), включая аннотации JPA. Это лучший способ отобразить ваши объекты и сделать ваш код переносимым также для других поставщиков. проверить это:

www.npersistence.com

...