847

Помогу бесплатно: Java и SQL

Помогу советом изучающим Java и SQL или начинающим программистам.


Не решаю задачи, не делаю ДЗ. Только объясняю что, как и почему устроено.


Рейтинг в топку, просто хочу помочь.

Помощники

243 поста785 подписчиков

Правила сообщества

Нельзя обсуждать Политику.
Ругаться и оскорблять.

Вы смотрите срез комментариев. Показать все
0
ыыыыыыыыыыыыыыыыыыыы
Автор поста оценил этот комментарий
А можно простым языком различия jpa и hibernate?)
раскрыть ветку (2)
2
Автор поста оценил этот комментарий

Попробую тоже объяснить. Предполагается знакомство читателя с концепцией interface и class в Java.


Начнём с того, что в Java есть на мой взгляд уникальная концепция Java EE. Давным давно она называлась J2EE, потом переименовали в Java EE. Java Enterprise Edition. Хотя звучит, как некая отдельная редакция Java, на самом деле это не так. Java EE это по сути набор интерфейсов для решения ряда типовых задач, например создание веб-страниц (Java Servlet, JavaServer Faces, JSP, EL, ...), отсылка почты (Java Mail), взаимодействие информационных систем (JAX WS, JAX RS, JAXB). И, конечно, для работы с БД там есть свои интерфейсы. Собственно JPA это и есть набор интерфейсов для работы с БД в стиле ORM.


Предполагается, что разработчик использует эти интерфейсы в своём коде. Конечно интерфейсы сами по себе работать не могут, кто-то должен их реализовывать. Собственно есть ряд реализаций по каждой спецификации. Для JPA из самых известных это Hibernate, EclipseLink, DataNucleus, может ещё какие есть. Из них Hibernate можно считать эдаким стандартом де-факто. Но суть в том, что в теории разработчик на конкретную реализацию даже не завязывается и её можно поменять не переписывая приложения. Уж насколько это вам важно, вопрос другой.


Что касается исторического экскурса. Давным давно были Entity Beans, как первая попытка в рамках Java EE сделать ORM. Они умерли. Альтернативно появилась и начала набирать популярность библиотека Hibernate. Она тогда никак к J2EE не относилась. В общем ребята из Java EE посмотрели на это дело и по сути передрали Hibernate и назвали это JPA. Ну хорошая идея, чего-б не передрать. А Hibernate в очередной своей версии просто реализовали все нужные интерфейсы и стали этой самой JPA-реализацией. Потом и альтернативы подоспели.


В своём коде считается хорошим тоном оставаться в рамках JPA. Сегодня этого хватает на большинство задач.


Также замечу, что хотя ORM некоторыми рекламируется, как простая альтернатива SQL, я считаю это глубоким заблуждением. ORM это штука мощная и полезная, но она точно не простая. И если использовать тот же Hibernate не разобравшись в нём хорошенько - дров наломаете. Это не к тому, что не надо его использовать, а к тому, что надо его изучить.

1
Автор поста оценил этот комментарий

JPA - это спецификация. То есть как должно работать объектно-реляционное отображение.
Hibernate - одна из реализаций этой спецификации.

Попробую привести аналогию. Легковой автомобиль - это четырёхколесное транспортное средство с двигателем и массой до 3,5 тонн. Это аналог JPA.

А вот Lada седан или Газель - это уже реализация (аналог Hibernate).

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества