гибернация с использованием аннотаций или с использованием файлов конфигурации гибернации - PullRequest
5 голосов
/ 02 сентября 2010

Я видел много уроков, в которых спящий режим реализован с использованием аннотаций (в основном аннотаций спящего режима или аннотаций JPA) Есть учебник, который в основном фокусируется на использовании файлов конфигурации hibernate (файлы hbm.xml). Аннотации вообще не используются.

Теперь я немного запутался, какой из них лучше подходит?

Ответы [ 4 ]

8 голосов
/ 02 сентября 2010

Я определенно предпочитаю использовать аннотации для определения моих метаданных отображения.И на самом деле, аннотации - это подход, рекомендованный разработчиками Hibernate.Цитировать Гевина Кинга в Больше XML, чем в коде?

Конечно, аннотации Hibernate существуют с начала 2005 года, и у людей больше нет веских причин для определения отображений в XML,

Плюсы:

  • аннотации, как правило, менее многословны
  • аннотации живут с кодом, их проще поддерживать (IMO)

Минусы:

  • Для изменения метаданных требуется перекомпиляция (если это действительно проблема)

Другими словами, используйте аннотации, если можете.Если вы не можете (вы не можете изменить код, например, при работе с устаревшим кодом), используйте сопоставления XML.

1 голос
/ 02 сентября 2010

Это зависит от вас! Я не думаю, что есть лучший подход. Оба решения предназначены для одного и того же, то есть помогают Hibernate понять, как структурирована ваша база данных. Преимущество аннотаций заключается в том, что они доступны непосредственно в вашем файле класса Entity Java.

Было время, когда XML считался стандартом для определения информации о конфигурации. Начиная с Java 5, многие сведения, изначально находящиеся в этих файлах XML, теперь напрямую хранятся в классах с использованием аннотаций. Например, Spring 3.x framework или Java EE 6 теперь используют аннотации.

0 голосов
/ 02 сентября 2010

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

0 голосов
/ 02 сентября 2010

Это зависит от ваших симпатий. Например, я предпочитаю аннотировать классы для , определяя, каковы первичные ключи, какие значения генерируются автоматически и какие отношения имеют сущности. Также я использую файл конфигурации persistence.xml , в котором я определяю , как сущности отображаются в базу данных. Таким образом, я разделил взгляд программиста на модель предметной области на модель инженера базы данных.

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