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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Отношение между ORM и JPA
Строка 1: Строка 1:
'''Java Persistence API''' (''JPA'') — [[Интерфейс программирования приложений|API]], входящий с версии Java 5 в состав платформ [[Java Platform, Standard Edition|Java SE]] и [[Java Platform, Enterprise Edition|Java EE]], предоставляет возможность сохранять в удобном виде Java-объекты в базе данных<ref>{{cite web | title=Java Persistence API FAQ | url=http://www.oracle.com/technetwork/java/javaee/persistence-jsp-136066.html | publisher=Oracle Corporation | archiveurl=http://web.archive.org/web/20080822023926/http://java.sun.com/javaee/overview/faq/persistence.jsp | archivedate=2008-08-22 | language=en}}</ref>.
'''Java Persistence API''' (''JPA'') — [[Интерфейс программирования приложений|API]], входящий с версии Java 5 в состав платформ [[Java Platform, Standard Edition|Java SE]] и [[Java Platform, Enterprise Edition|Java EE]], предоставляет возможность сохранять в удобном виде Java-объекты в базе данных<ref>{{cite web | title=Java Persistence API FAQ | url=http://www.oracle.com/technetwork/java/javaee/persistence-jsp-136066.html | publisher=Oracle Corporation | archiveurl=http://web.archive.org/web/20080822023926/http://java.sun.com/javaee/overview/faq/persistence.jsp | archivedate=2008-08-22 | language=en}}</ref>.


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


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

Версия от 16:08, 23 февраля 2015

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

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

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

  • непосредственно API, заданный в пакете javax.persistence;
  • платформо-независимый объектно-ориентированный язык запросов Java Persistence Query Language;
  • метаинформация, описывающая связи между объектами.
  • Генерация DDL для сущностей

История

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

Entity

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 года.

Ссылки