Java Persistence API

Java Persistence API (JPA) — спецификация API Java EE, предоставляет возможность сохранять в удобном виде Java-объекты в базе данных[3].

Существует несколько реализаций этого интерфейса, одна из самых популярных использует для этого Hibernate. JPA реализует концепцию ORM.

Поддержка сохранности данных, предоставляемая JPA, покрывает области:

Общие сведения
Java Persistence API
Официальный сайт jakarta.ee/specif… (англ.)
Разработчик Eclipse Foundation
Лицензия Eclipse Public License 2.0[d] и GPL linking exception[d]
Создатель Sun Microsystems
Репозиторий исходного кода github.com/eclipse-ee4j/…
Правовой статус защищено авторским правом[d]
Версия
Государство

История

Java Persistence API был определён в процессе работы экспертной группы над JSR 220[4]. Первая версия JPA была выпущена 11 мая 2006 года. JPA 2.0 был описан экспертной группой в JSR 317[5], спецификация была выпущена 10 декабря 2009 года. Спецификация JPA 2.1 была выпущена 22 апреля 2013 года.

Entity

Entity (Сущность) — POJO-класс, связанный с БД с помощью аннотации (@Entity) или через XML. К такому классу предъявляются следующие требования:

  • Должен иметь пустой конструктор (public или protected)
  • Не может быть вложенным, интерфейсом или enum
  • Не может быть final и не может содержать final-полей/свойств
  • Должен содержать хотя бы одно @Id-поле

При этом entity может:

  • Содержать непустые конструкторы
  • Наследоваться и быть наследованным
  • Содержать другие методы и реализовывать интерфейсы

Entities могут быть связаны друг с другом (один-к-одному, один-ко-многим, многие-к-одному и многие-ко-многим)[6].

См. также

Примечания

  1. Release 2.2.2 — 2018.
  2. Release 3.1.0 — 2022.
  3. Java Persistence API FAQ (англ.). Oracle Corporation. Архивировано из оригинала 22 августа 2008 года.
  4. JSR 220: Enterprise JavaBeansTM 3.0 (англ.) (недоступная ссылка — история). Архивировано 9 сентября 2012 года.
  5. JSR 317: Java Persistence 2.0 (англ.) (недоступная ссылка — история). Архивировано 9 сентября 2012 года.
  6. Package javax.persistence (javadoc) (англ.) (недоступная ссылка — история). Oracle Corporation. Архивировано 11 декабря 2012 года.

Ссылки

Категории