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

jpa

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

Условные выражения

Сравнение >,<,>=,<=,=,<>

like

is [not] null

is [not] empty

<значение> in <список>

<значение> in <подзапрос>

<оператор> {ALL|SOME|ANY}

(подзапрос)‏

2-101

 

Логические операторы

Три стандартных оператора для комбинирования условий

◦and

◦or

◦not

2-102

Параметры

Параметры именуются в запросе с помощью:

◦Имени: :bName, :x...

◦Позиции: ?1, ?2...

Параметры выставляются до выполнения запроса:

◦setParameter(String name,Object val)‏

◦setParameter(int pos, Object val)‏

2-103

Выборка при объединении

В запросе можно указать тип «ранней» выборки с помощью fetch для «ко-многим» связей

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

2-104

Ограничение количества выборки

Два метода класса Query:

◦setFirstResult(int startPos)‏

Нумерация с 0

◦setMaxResults(int limit)‏

2-105

Выполнение запросов

Два метода для выборки:

◦List getResultList()‏

◦Object getSingleResult()‏

EntityNotFoundException

NonUniqueResultException

Один метод для обновления:

◦int executeUpdate()‏

Возвращает количество измененных записей

2-106

Массовые операции

Обновление

◦Обновляет поле версии (если есть)‏

Удаление

◦Не требует загрузки объектов

Массовые изменения не затрагивают

управляемых объектов в текущем контексте любого менеджера

2-107

Именованные запросы

Именованные запросы могут определяться в аннотациях

Так же могут определяться в

конфигурационном файле

createNamedQuery(String name)‏

2-108

Упражнение

Разработка сохраняемых сложных сущностей с иерархиями наследования и связями.

2-109

Java Persistence API

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

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

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

Связи в JPA

EJB-QL

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

2-110