jpa
.pdfАннотация @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