Hibenate - одна из реализация JPA. JPA - это только спецификация. Много где написано: JPA - это только спецификация, она не умеет сохранять, выбирать, удалять данные из таблицы. Для этого существуют реализации (такие как Hibernate). Ну вот сейчас я создаю приложение с помощью Spring Boot. Для взаимодействия c БД я использую CRUD репозиторий (который является частью spring data jpa). Так вот вопросы. 1. Использование CRUD репозитория каким-то боком вообще касается Hibenate? 2. Может ли spring data jpa использоваться без Hibenate вообще. 3. Не могу понять разницы реализации JPA и абстракции доступа к данным JPA.
Hibernate это библиотека используемая для выполнения преобразования объектов к структурам данных реляционных БД и наоборот, что в оригинале называется ORM (Object/Relational Mapping). Обычно одному классу объектов сопоставляется одна таблица в БД, поля объекта сопоставляются к колонкам таблицы, связь между объектами в базе данных сохраняется посредством использования ключей (Primary Key/Foreign Key). Многие правила преобразования применяются автоматически библиотеками ORM, а другие необходимо описать программисту, чтобы ORM "знал" как осуществлять преобразование. В Hibernate раньше такую информацию описывали в XML, позднее появился Java Persistence API (JPA). JPA это стандартизированный программный интерфейс (API) позволяющий задать информацию необходимую для осуществления преобразования объектов к модели реляционных БД посредством аннотаций языка Java, а также там описаны интерфейсы объектов предназначенных для выполнения Create, Read, Update, Delete (CRUD) операций с БД. То есть, раньше каждая ORM библиотека предлагала свои собственные способы описания сопоставления объектов таблицам, а также механизмы для выполнения CRUD операций, а JPA привнес унификацию. Мне известны две реализации JPA, это Hibernate и EclipseLink.
Spring Data содержит логику позволяющую абстрагироваться от конкретных БД, например для типичных CRUD операций там есть CrudRepository позволяющий выполнять большинство типовых операций с практически любыми базами данных(реляционными и не реляционными).
А теперь конкретно ответы на твои вопросы:
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости