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

править

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

Ссылки

править

📚 Artikel Terkait di Wikipedia

Jakarta EE

поставщиком, управляемым классом и клиентом Java Persistence API (JPA). Этот пакет предоставляет Java Transaction API (JTA), который содержит интерфейсы и аннотации

Java Persistence Query Language

Java Persistence Query Language (JPQL) — платформенно-независимый объектно-ориентированный язык запросов, являющийся частью спецификации Java Persistence

Список Java API

три типа Java API: официальный основной Java API, содержащийся в JDK или JRE, в одном из вариантов Java. Три варианта платформы Java: Java ME (Micro

Hibernate (библиотека)

февраля 2012 года. К. Бауэр, Г. Грегори, Г. Кинг. Java Persistence API и Hibernate = Java Persistence with Hibernate. — 2-е. — ДМК Пресс, 2017. — 632 с

Cookie

(Local Shared Objects), Microsoft Silverlight (Isolated Storage) и Java (Java persistence API). Когда программа обнаруживает отсутствие в браузере cookie-файла

Java

способностью к хранению в базе данных — на основе Java Data Objects[англ.] и Java Persistence API; Поддержка обобщений (с версии 1.5); Поддержка лямбд

Enterprise JavaBeans

основных типов: объектные (Entity Bean) — перенесены в спецификацию Java Persistence API сессионные (Session Beans), которые бывают stateless (без состояния)

Список ORM-библиотек

Java Object Oriented Querying (jOOQ) Java Persistence API (JPA) Kodo, коммерческая реализация обоих объектов Java Data Objects и Java Persistence API