Я создал приложение, используя Spring 4.0, Hibernate 4.3 и JPA 2.1. К сожалению, в последний момент я понял, что используемый нами сервер не поддерживает JPA 2.1 (WebLogic 10.3.6).
Обратите внимание, что я не контролирую сервер, который мы используем — я не могу обновить его до более высокой версии. Кроме того, я знаю, что должен был лучше знать, что мы использовали; однако я не могу изменить это сейчас. Это будет уроком на будущее.
Сейчас я стою перед дилеммой, поскольку клиент видел рабочую версию локально и ожидает, что приложение будет развернуто на веб-сервере в ближайшее время. Я понял, что мне нужно переписать большие части слоя сохраняемости данных.
Может ли кто-нибудь из вас помочь мне определить, какие области различаются между Hibernate 4.2.8 и Hibernate 4.3, а также разницу между JPA 2.1? Я знаю, что это большой вопрос, но у меня нет другой точки отсчета, чтобы помочь в моей организации. Я надеюсь, что смогу получить некоторые указания здесь.
На данный момент я считаю, что возврат к более ранним версиям затронет следующие области:
- JPA-таблицы
- Индексы соединения JPA
- Немного автовайринга
- Некоторые аннотации
Я знаю, что есть несколько других проблем, но я нахожу их, когда исправляю другие проблемы. Одна из самых больших проблем, с которыми я сталкиваюсь, — это соединения, поскольку у меня много двунаправленных отношений с использованием @ManyToOne и столбцов соединения.
Мой вопрос: какие возможности, которые обычно используются в Hibernate 4.3, отсутствуют в Hibernate 4.2.x? Какие возможности не поддерживаются без JPA 2.1? Считаете ли вы, что различия достаточно велики, чтобы потребовать перезаписи текущего уровня сохраняемости данных с нуля?
Если это слишком большой вопрос, пожалуйста, дайте мне знать, и я постараюсь уточнить его дальше.
Спасибо заранее за вашу помощь.