Java Persistence API

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

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.