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

jpa

.pdf
Скачиваний:
12
Добавлен:
02.06.2015
Размер:
2 Мб
Скачать
☆

Аннотация @Enumeration

Дополняет аннотацию @Basic

Применяется к полям-перечислениям

Возможные значения:

◦EnumType.ORDINAL

◦EnumType.STRING

2-41

Что такое отсоединенные сущности?

Экземпляры хранимых классов

Отсоединены от EntityManagerа

◦После отсоединения, EM не загружает поля «по запросу»

Изменения непосредственно не отображаются в БД

Могут быть изменены вне

активной транзакции

2-42

Создание отсоединенных сущностей

Отсоединение происходит, когда:

◦Закрывается EM

◦У EM вызывается метод clear()‏

◦Сущность проходит через

сериализацию

◦Транзакция откатывается

При откате активной транзакции вызывается метод clear()‏

2-43

Создание отсоединенных сущностей

В транзакционном контексте отсоединение происходит:

◦При выполнении запроса вне транзакции

◦После фиксации транзакции

Если объект изменен, предполагается,

что изменения будут зафиксированы

◦Поле версии соответствует ожидаемому после фиксации

2-44

Проверка на отсоединенность

Метод интерфейса EntityManager contains

◦Определяет, является ли сущность

управляемой

2-45

Загрузка полей при отсоединении

Загруженными остаются поля,

загруженные у управляемой сущности

◦Загруженные связи сохраняются

Создается граф отсоединенных объектов

◦Загружаются:

Поля с ранней загрузкой (по умолчанию) и поля с поздней загрузкой, уже запрошенные приложением и загруженные

Поля, загруженные при join

2-46

Объединение (merging)‏

Отсоединенные сущности могут быть объединены с текущим контекстом EM

◦Копирует измененные поля в управляемую сущность

Если сущность новая, то создается новый управляемый экземпляр

2-47

Объединение (merging)‏

Связи обрабатываются рекурсивно, если

◦Выставлен атрибут cascade=CascadeType.MERGE

◦И связь загружена в отсоединенный объект

Изменения в результате объединения сохраняются при

фиксации транзакции

2-48

Java Persistence API

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

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

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

Связи в JPA

EJB-QL

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

2-49

ACID - свойства транзакции

БД может выполнять несколько транзакций одновременно

◦Каждая транзакция может включать несколько шагов

Свойства транзакции:

◦Atomicity — атомарность

◦Consistency — надежность

◦Isolation — изоляция

◦Durability — долговечность

2-50