2016-08-13 2 views
3

Привет, мой вопрос не является техническим. Я хочу знать, поддерживает ли hibernate 5 XML-привязку сущности или нет.Поддерживает ли Hibernate 5 сопоставление сущностей XML на основе XML?

Мое требование, как показано ниже:

Я хочу бэкенд на Джерси-Hibernate. Мой интерфейс - это приложение для Android. Я хочу, чтобы мои объекты POJO в общем проекте были такими, что они будут доступны как приложениям, так и серверам. Gson будет сериализовать/десериализовать обе стороны. Но поскольку приложение для Android не поддерживает всю библиотеку java в компиляции, я не хочу, чтобы мой общий (POJO) в зависимости от некоторой библиотеки; В этом случае спящие аннотации. Поэтому я планирую использовать конфигурацию на основе XML.

+0

ЛЮБОЙ поставщик JPA должен поддерживать конфигурацию XML. В противном случае это не соответствует требованиям JPA. –

ответ

5

Hibernate 5 поддерживает оба отображения устаревших HBM, а также отображения XML JPA тоже. Однако сопоставления HBM больше не являются рекомендуемым подходом к объектам карты. Как показано в new User Guide, все примеры используют аннотации.

Есть больше возможностей, предоставляемых аннотациями, относящимися к гибернату, чем в случае с HBM сопоставлениями. В Hibernate 6 планируется добавить механизм расширения для JPA-сопоставлений XML, поэтому HBM сопоставления будут устаревать.

Поскольку вы переезжаете в Hibernate 5, рекомендуется также перейти от HBM к аннотациям.

+0

Я хочу, чтобы мой POJO был независимым от всех зависимостей, но если я использую аннотации, мне придется установить зависимость от аннотации maven Hibernate. Вот почему я хочу hbm. Не могли бы вы рассказать мне о другом? –

+0

Вы можете зависеть только от аннотаций JPA. Поэтому javax.persistence является единственной зависимостью. Но вам это все равно нужно. –

+0

Но андроид не дополняет библиотеку аннотаций JPA. Так что hbm.xml - мой лучший вариант. –

1

Да, в соответствии с документацией (где авторы рекомендовали использовать аннотации для отображения) Говорят, что отображение XML все еще возможно: docs

так далее - вы все равно может нам *.hbm.xml для отображения объекта.

EDIT: OFC Я имею в виду * .hbm.xml

+0

Я спрашиваю о картировании pojo, т. Е. Entity.hbm.xml? Я полагаю, вы имеете в виду hbm по вашему ответу. –