Перейти к содержанию

Java Persistence API: различия между версиями

Материал из Википедии — свободной энциклопедии
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м замена имён и значений устаревшего неподдерживаемого InternetArchiveBot формата параметров доступности ссылок (5), замена устаревших имён параметров (12)
archive.today внесён в блок-лист в викимедии
 
Строка 32: Строка 32:


== Ссылки ==
== Ссылки ==
* {{cite web|url=http://glassfish.dev.java.net/javaee5/persistence/|title=GlassFish's Persistence page|language=en|deadlink=unknown-host|archive-url=https://archive.today/20130112000920/http://glassfish.java.net/javaee5/persistence/|archive-date=2013-01-12}}
* {{cite web|url=http://glassfish.dev.java.net/javaee5/persistence/|title=GlassFish's Persistence page|language=en|deadlink=unknown-host}}
* {{cite web|url=http://www.oracle.com/technetwork/articles/javaee/jpa-137156.html|title=The Java Persistence API - A Simpler Programming Model for Entity Persistence|language=en|publisher=Oracle|archive-url=https://www.webcitation.org/67kNJfAHL?url=http://www.oracle.com/technetwork/articles/javaee/jpa-137156.html|archive-date=2012-05-18|url-status=dead}}
* {{cite web|url=http://www.oracle.com/technetwork/articles/javaee/jpa-137156.html|title=The Java Persistence API - A Simpler Programming Model for Entity Persistence|language=en|publisher=Oracle|archive-url=https://www.webcitation.org/67kNJfAHL?url=http://www.oracle.com/technetwork/articles/javaee/jpa-137156.html|archive-date=2012-05-18|url-status=dead}}



Текущая версия от 15:23, 9 августа 2026

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

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

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

Java Persistence API был определён в процессе работы экспертной группы над JSR 220[2]. Первая версия JPA была выпущена 11 мая 2006 года. JPA 2.0 был описан экспертной группой в JSR 317[3], спецификация была выпущена 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 (Сущность) — POJO-класс, связанный с БД с помощью аннотации (@Entity) или через XML. К такому классу предъявляются следующие требования:

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

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

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

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

Примечания

[править | править код]
  1. ↑ Java Persistence API FAQ (англ.). Oracle Corporation. Архивировано из оригинала 22 августа 2008 года.
  2. ↑ JSR 220: Enterprise JavaBeansTM 3.0 (англ.). Архивировано из оригинала 9 сентября 2012 года.
  3. ↑ JSR 317: Java Persistence 2.0 (англ.). Архивировано из оригинала 9 сентября 2012 года.
  4. ↑ Package javax.persistence (javadoc) (англ.). Oracle Corporation. Архивировано из оригинала 11 декабря 2012 года.