@VasilievAleksey

JPA и Hibernate или Hibernate?

Начал изучать ORM почитал немного теории, понял что работать с hibernate можно и через JPA или отдельно от него, собственно как будет лучше?! переходить с Hibernate не собираюсь в будущем приложение, по мимо этого есть еще какие плюсы JPA? Собственно до этого работу с сущностями осуществлял через JPA
  • Вопрос задан
  • 6489 просмотров
Решения вопроса 1
@bobzer
Java EE Developer
JPA - это интерфейс языка JAVA, не имеющий реализации в самом языке. Если просто добавить аннотации JPA в свои классы, то не произойдет ровным счетом ничего. Для того, чтобы аннотации начали "работать", следует развернуть и настроить в проекте фреймворк, который "найдет" все классы с JPA-аннотациями и "состыкует" их с сущностями СУБД. Этим фреймворком у вас является Hibernate.

По поводу "работать с hibernate можно и через JPA или отдельно от него" - тут в основном дело вкуса. У вас есть два варианта сообщить Hibernate какие классы "замапить" на таблицы БД:
1. Добавить в классы аннотации JPA
2. Создать XML-файлы, в которых будет описано сопоставление классов объектам БД.

По доступной функциональности оба метода равны между собой, при этом аннотации JPA более современны. Я бы рекомендовал JPA, т.к. при открытии класса сразу будет видно, что он "замаплен", а в случае использования XML, "замапленный" класс визуально неотличим от других классов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Losted
@Losted
Software Architect
JPA - универсальный интерфейс, который будет понятен и людям, которые работали только с ОРМ, отличной с hibernate. Да и тот факт, что сейчас вы не хотите поменять hibernate еще не гарантирует того, что желание не появится в будущем. Лично я обычно делаю с использованием JPA.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
28 мар. 2024, в 12:05
2000 руб./за проект
28 мар. 2024, в 11:24
5000 руб./за проект