2010-11-15 2 views
0

Мы планируем перейти на Java EE 5 из j2EE 1.4. Все наши потребности в ORM были хорошо выполнены Hibernate 2.1.0 s0 далеко. Поскольку мы переходим к Java EE 5, который поддерживает JPA 1.0, мне интересно, стоит ли переносить все свои файлы ORM в JPA.JPA 1.0 или спящий режим?

Есть ли какие-либо проблемы, о которых я должен беспокоиться? Есть ли места, где JAP 1.0 не работает?

Я не хочу использовать JPA 2.0.

ответ

8

API JPA 1.0 имеет в себе несколько довольно ярких отверстий (например, отсутствие пользовательских типов значений, отсутствие наборов элементов). Перенос приложения из собственного Hibernate API в API JPA 1.0 может быть болезненным из-за отсутствия базовых функций.

Однако API аннотаций Hibernate является расширением базового API JPA, поэтому вы используете JPA, насколько это возможно, и заканчивайте его с помощью Hibernate-расширений. Стиль аннотаций - самый простой способ использования Hibernate, так что это самый приятный компромисс.

Если у вас уже есть рабочее приложение для спящего режима, я должен задаться вопросом, стоит ли беспокоиться. У меня возникнет соблазн оставить его как есть, он должен отлично работать в среде Java EE 5.

+0

Согласен. Если он не сломался, не исправляйте его. – dhable

+0

Не забудьте, что в jpa1 нет критериев. – Steven

+0

Спасибо. Если нет набора элементов, то как 1-много представлено? Все определения определения ORM находятся в файле xml. Могу ли я безопасно смешивать файлы hbm и файлы сопоставления JPA вместе? Скажем, у меня есть Person.hbm.xml и MyClass.xml (jpa), и нет никакой связи между этими двумя кассами, могу ли я сохранить их как в одной транзакции? Кроме того, можете ли вы немного рассказать о своем утверждении: «вы используете JPA, насколько это возможно, и заканчивайте его с помощью Hibernate-расширений». –