Критерії зумовлений API який використаний для того щоб визначити питання для реальностей. Альтернативний шлях визначати питання JPQL. Ці питання тип-безпечні, портативні, і легкі для того щоб доопрацювати шляхом змінювати синтаксис. Подібно до JPQL, він слідувати абстрактної схиму (легкої для того щоб редагувати схиму) і врізаними предметами. Метадані API mingled з критеріями API для моделювання упорней реальності для питань критеріїв.
Головна перевага критеріїв API що помилки можна виявити більш раніше під час часу трансляції. Строк-засновані питання JPQL і критерії по JPA заснували питання такі ж в поданні та ефективності.
Історія критеріїв API
Критерії включені в усі версії JPA тому кожен крок критеріїв повідомлений в специфікаціях JPA.
- У JPA 2,0, перетворені критерії запитують API, шаблонізаціі питань.
- У JPA 2,1, критерії уточнюють і видалення (навальний нова версія і видалення) включення.
Структура питання критеріїв
Критерії та JPQL близько віднесені і дозволені конструювати використовуючи подібні операторів в їх питаннях. Вона слідувати пакетом javax.persistence.criteria для того щоб конструювати питання. Структура питання значить питання критеріїв по синтаксису.
Наступний просте питання критеріїв повертає всі приклади типу реальності в джерелі даних.
Питання демонструє основні кроки для того щоб створити критерії.
Приклад EntityManager використаний для того щоб створити предмет CriteriaBuilder.
Приклад CriteriaQuery використаний для того щоб створити предмет питання. Атрибути цього предмета питання будуть доопрацьовані з деталями питання.
Метод CriteriaQuery.form викликаний для того щоб встановити корінь питання.
CriteriaQuery.select викликано для того щоб встановити тип списку результату.
приклад TypedQuery
метод getResultList на предмет TypedQuery
Приклад критеріїв API
Бороніть нам розглядати приклад бази даних працівника. Припустимо, таблиця jpadb.employee містить слідувати показники:
Створіть проект JPA в названому затемненні IDE JPA_Eclipselink_Criteria. Всі модулі цього проекту обговорю нижче:
створювати реальності
Дозволяє створити пакет, названий com.tutorialspoint.eclipselink.entity під 'src'
Створіть клас, названий Employee.java під даним пакетом. Підприємство Співробітника класу показують наступним чином:
Persistence.xml
Архів Persistence.xml наступним чином:
обслуговуйте типи
Цей модуль містить типи обслуговування, який постачає частину питання критеріїв використовуючи починання API метаданих. Створіть названий пакет `com.tutorialspoint.eclipselink.service '. Названий тип CriteriaAPI.java створений під, котор дали пакетом. Тип DAO показаний що в такий спосіб:
Після складати і виконувати вищезгадану програму ви отримаєте наступний вихід в панелі пульта затемнення IDE.