JPA - Введение
Любое корпоративное приложение выполняет операции с базой данных, сохраняя и извлекая огромные объемы данных. Несмотря на все доступные технологии управления хранилищем, разработчикам приложений обычно трудно эффективно выполнять операции с базой данных.
Как правило, разработчики Java используют много кода или проприетарную структуру для взаимодействия с базой данных, тогда как при использовании JPA нагрузка взаимодействия с базой данных значительно снижается. Он образует мост между объектными моделями (программа Java) и реляционными моделями (программа базы данных).
Несоответствия между реляционной и объектной моделями
Реляционные объекты представлены в табличном формате, а объектные модели представлены в виде взаимосвязанного графа объектного формата. При сохранении и извлечении объектной модели из реляционной базы данных некоторые несоответствия возникают по следующим причинам:
Granularity : Объектная модель имеет большую степень детализации, чем реляционная модель.
Subtypes : Подтипы (означает наследование) поддерживаются не всеми типами реляционных баз данных.
Identity : Как и объектная модель, реляционная модель не раскрывает идентичность при написании равенства.
Associations : Реляционные модели не могут определять множественные отношения при изучении модели предметной области.
Data navigation : Навигация по данным между объектами в объектной сети различается в обеих моделях.
Что такое JPA?
Java Persistence API - это набор классов и методов для постоянного хранения огромных объемов данных в базе данных, предоставляемой Oracle Corporation.
Где использовать 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 Community Process JSR 317.
JPA 2.1 был выпущен со спецификацией JAVA EE7 22 апреля 2013 г. с использованием JSR 338.
Провайдеры JPA
JPA - это API с открытым исходным кодом, поэтому различные корпоративные поставщики, такие как Oracle, Redhat, Eclipse и т. Д., Предоставляют новые продукты, добавляя в них привкус сохраняемости JPA. Некоторые из этих продуктов включают:
Hibernate, Eclipselink, Toplink, Spring Data JPA, etc.