Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

jpa

.pdf
Скачиваний:
5
Добавлен:
02.06.2015
Размер:
2.07 Mб
Скачать

Java Persistence API

Сущности (Entities)‏

Транзакции в JPA

Иерархия классов и JPA

Связи в JPA

EJB-QL

Обработчики (Listeners)‏

2-1

Место JPA

2-2

Цели JPA

Автоматическое отслеживание статуса сущности и его сохранение

Простота конфигурации

Унифицированный интерфейс

Свобода от закрытых решений

2-3

Что такое JPA?

EJB 3 Persistence

Слой объектно-реляционного преобразования

JSR-220

Направлен на использование

реляционных БД

Простой API

Мощный язык запросов

2-4

Что такое Модуль JPA Persistence?

Имеет имя

Имя может быть пустым, если в приложении только один модуль

Ассоциируется с:

Набором классов сущностей

БД для хранения информации

Единая конфигурация

Единый набор метаданных

2-5

Что такое “управляемые сущности”?

JPA отслеживает управляемые

(managed) сущности

Их изменения фиксируются в БД при завершении транзакции

JPA загружает поля и связи управляемых объектов по запросу приложения

Отсоединенные и вновь созданные сущности не являются managed

2-6

Что такое PersistenceContext?

Набор управляемых объектов в одном Persistence-модуле

Каждый EntityManager связан c одним PersistenceContext'ом

PersistenceContext может быть связан с несколькими

EntityManager'ами

2-7

У PersistenceContext есть диапазон

PersistenceContextType.TRANSACTIONAL

PersistenceContextType.EXTENDED

По умолчанию в J2SE

В Java EE 5

Для компонентов с управляемыми транзакциями по умолчанию —

TRANSACTIONAL

Для остальных по умолчанию -

EXTENDED

2-8

PersistenceContext с TRANSACTIONAL

диапазоном

Managed сущности при фиксации транзакции отсоединяются

Загруженные сущности

Становятся managed только если транзакция активна

Сущности не могут быть изменены вне транзакции

Иначе возникает

TransactionRequiredException

2-9

PersistenceContext с EXTENDED диапазоном

Managed сущности при фиксации транзакции остаются managed

Загруженные сущности managed независимо от транзакций

Сущности могут быть изменены вне транзакции

Изменения сохраняются если позже транзакция начата и зафиксирована

2-10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]