Главная » Uncategorized » Java JPA

Java JPA

JPA – это технология, обеспечивающая объектно-реляционное отображение простых JAVA объектов и предоставляющая API для сохранения, получения и управления такими объектами.

JPA – это спецификация (документ, утвержденный как стандарт, описывающий все аспекты технологии), часть EJB3 спецификации.

Сам JPA не умеет ни сохранять, ни управлять объектами, JPA только определяет правила игры: как что-то будет действовать. JPA также определяет интерфейсы, которые должны будут быть реализованы провайдерами. Плюс к этому JPA определяет правила о том, как должны описываться метаданные отображения и о том, как должны работать провайдеры. Дальше, каждый провайдер, реализуя JPA определяет получение, сохранение и управление объектами. У каждого провайдера реализация разная.

Реализации
У JPA существуют разные реализации:

Hibernate
Oracle TopLink
Apache OpenJPA
EJB описывает объекты, как они должны сохраняться в базу – там это очень сложно. А hibernate как ORM реализация завоевала очень большую популярность. JPA – это в основном идеи hibernate и JDO.

Структура JPA
Состоит из трех основных пунктов:

API – интерфейсы в пакете javax.persistance
Набор интерфейсов, которые позволяют организовать взаимодействие с ORM провайдером.
JPQL – объектный язык запросов.
Очень поход на SQL, но запросы выполняются к объектам.
Metadata – аннотации над объектами.
Набор аннотаций, которыми мы описываем метаданные отображения. Тогда уже JPA знает какой объект в какую таблицу нужно сохранить. Метаданные можно описывать двумя способами: XML файл можно через аннотации.

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s