Ответ
JPA (Java Persistence API) — это стандартная спецификация Java EE (и Jakarta EE) для ORM (Object-Relational Mapping). Она описывает, как управлять реляционными данными в Java-приложениях, используя объектную модель.
Основная цель: Преобразовывать данные между объектами Java и таблицами базы данных, минимизируя ручное написание SQL-кода.
Ключевые компоненты и аннотации:
@Entity: Помечает класс как сущность, отображаемую на таблицу БД.@Idи@GeneratedValue: Определяют первичный ключ и стратегию его генерации (например, автоинкремент).EntityManager: Центральный интерфейс для операций с жизненным циклом сущностей (persist, find, merge, remove).- JPQL (Java Persistence Query Language): Объектно-ориентированный язык запросов, похожий на SQL, но работающий с сущностями, а не таблицами.
Пример сущности:
import javax.persistence.*;
@Entity
@Table(name = "employees") // Соответствует таблице 'employees'
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "full_name", nullable = false)
private String name;
private BigDecimal salary;
// Обязательный конструктор без аргументов
public Employee() {}
// Геттеры и сеттеры
// ...
}
Популярные реализации: Hibernate, EclipseLink, Apache OpenJPA. Использование JPA повышает переносимость кода между разными провайдерами ORM.