JPA - это спецификация API для управления персистентностью данных в Java приложениях. Она предоставляет стандартный способ отображения Java объектов в реляционные базы данных (или другие хранилища данных) и обратно. JPA является частью платформы Java EE (сейчас Jakarta EE) и также может использоваться в standalone приложениях.
Ключевые компоненты JPA:
@Entity, представляющие данные в базе данных.EntityManager. В нем отслеживаются изменения сущностей перед синхронизацией с базой данных.persistence.xml: Файл конфигурации, описывающий единицы персистентности (persistence units) и их свойства (например, информация о подключении к базе данных, стратегии маппинга).JPA не является конкретной реализацией ORM (Object-Relational Mapping), а лишь определяет контракты и API. Существуют различные провайдеры JPA, реализующие эту спецификацию, самые популярные из которых:
Пример определения сущности:
java
Пример использования EntityManager:
java
Основная цель JPA - упростить разработку приложений, работающих с базами данных, путем абстрагирования низкоуровневых деталей работы с JDBC и SQL, предоставляя объектно-ориентированный подход к персистентности. Это повышает переносимость кода и снижает его связанность с конкретной базой данных.