Jakarta Persistence API (JPA; ранее Java Persistence API) — спецификация API Jakarta EE, предоставляет возможность сохранять в удобном виде Java-объекты в базе данных.
Существует несколько реализаций этого интерфейса, одна из самых популярных использует для этого Hibernate. JPA реализует концепцию ORM.
Поддержка сохранности данных, предоставляемая JPA, покрывает области: непосредственно API, заданный в пакете javax.persistence; платформо-независимый объектно-ориентированный язык запросов Java Persistence Query Language; метаинформация, описывающая связи между объектами; Генерация DDL для сущностей.
История Java Persistence API был определён в процессе работы экспертной группы над JSR 220. Первая версия JPA была выпущена 11 мая 2006 года. JPA 2.0 был описан экспертной группой в JSR 317, спецификация была выпущена 10 декабря 2009 года. Спецификация JPA 2.1 была выпущена 22 апреля 2013 года (для платформы Java EE 7 требуется версия JPA 2.1). Спецификация JPA 2.2 была выпущена летом 2017 года. Спецификация JPA 3.1, последняя версия, была выпущена весной 2022 года в рамках Jakarta EE 10.
Entity Entity (Сущность) — POJO-класс, связанный с БД с помощью аннотации (@Entity) или через XML. К такому классу предъявляются следующие требования: Должен иметь пустой конструктор (public или protected) Не может быть вложенным, интерфейсом или enum Не может быть final и не может содержать final-полей/свойств Должен содержать хотя бы одно @Id-поле При этом entity может: Содержать непустые конструкторы Наследоваться и быть наследованным Содержать другие методы и реализовывать интерфейсы
Entities могут быть связаны друг с другом (один-к-одному, один-ко-многим, многие-к-одному и многие-ко-многим).
См. также ORM
Примечания
Ссылки
Категория:Интерфейсы доступа к данным Категория:Java Enterprise Edition