Любое корпоративное приложение выполняет операции с базой данных, сохраняя и извлекая огромные объемы данных. Несмотря на все доступные технологии для управления хранением, разработчики приложений обычно изо всех сил пытаются выполнить операции базы данных эффективно.
Как правило, Java-разработчики используют много кода или используют проприетарную среду для взаимодействия с базой данных, тогда как при использовании JPA нагрузка на взаимодействие с базой данных значительно снижается. Он образует мост между объектными моделями (программа Java) и реляционными моделями (программа базы данных).
Несоответствия между реляционными и объектными моделями
Реляционные объекты представлены в табличном формате, а объектные модели представлены в виде взаимосвязанного графа формата объекта. При сохранении и извлечении объектной модели из реляционной базы данных возникает некоторое несоответствие по следующим причинам:
-
Гранулярность : объектная модель обладает большей гранулярностью, чем реляционная модель.
-
Подтипы : Подтипы (означает наследование) поддерживаются не всеми типами реляционных баз данных.
-
Идентичность : как и объектная модель, реляционная модель не раскрывает идентичность при написании равенства.
-
Связи: реляционные модели не могут определять множественные отношения при рассмотрении модели предметной области.
-
Навигация данных. Навигация данных между объектами в объектной сети различна в обеих моделях.
Гранулярность : объектная модель обладает большей гранулярностью, чем реляционная модель.
Подтипы : Подтипы (означает наследование) поддерживаются не всеми типами реляционных баз данных.
Идентичность : как и объектная модель, реляционная модель не раскрывает идентичность при написании равенства.
Связи: реляционные модели не могут определять множественные отношения при рассмотрении модели предметной области.
Навигация данных. Навигация данных между объектами в объектной сети различна в обеих моделях.
Что такое JPA?
Java Persistence API — это набор классов и методов для постоянного хранения огромных объемов данных в базе данных, предоставляемой корпорацией Oracle.
Где использовать JPA?
Чтобы уменьшить нагрузку на написание кодов для управления реляционными объектами, программист следует структуре «JPA Provider», которая позволяет легко взаимодействовать с экземпляром базы данных. Здесь необходимые рамки приняты JPA.
JPA История
В более ранних версиях EJB определенный уровень персистентности сочетался с уровнем бизнес-логики с использованием интерфейса javax.ejb.EntityBean.
-
При внедрении EJB 3.0 уровень персистентности был отделен и определен как JPA 1.0 (Java Persistence API). Спецификации этого API были выпущены вместе со спецификациями JAVA EE5 11 мая 2006 года с использованием JSR 220.
-
JPA 2.0 был выпущен со спецификациями JAVA EE6 10 декабря 2009 года как часть процесса сообщества Java JSR 317.
-
JPA 2.1 был выпущен со спецификацией JAVA EE7 22 апреля 2013 года с использованием JSR 338.
При внедрении EJB 3.0 уровень персистентности был отделен и определен как JPA 1.0 (Java Persistence API). Спецификации этого API были выпущены вместе со спецификациями JAVA EE5 11 мая 2006 года с использованием JSR 220.
JPA 2.0 был выпущен со спецификациями JAVA EE6 10 декабря 2009 года как часть процесса сообщества Java JSR 317.
JPA 2.1 был выпущен со спецификацией JAVA EE7 22 апреля 2013 года с использованием JSR 338.
JPA провайдеры
JPA является API с открытым исходным кодом, поэтому различные корпоративные поставщики, такие как Oracle, Redhat, Eclipse и т. Д., Предоставляют новые продукты, добавляя в них постоянство JPA. Некоторые из этих продуктов включают в себя:
Hibernate, Eclipselink, Toplink, Spring Data JPA и т. Д.