Описание тега criteria-api

Этот тег предназначен для вопросов, связанных с API критериев сохранения состояния Java (из JPA 2.0), который используется для определения запросов путем создания объектов определения запросов на основе объектов, а не использования строкового подхода языка запросов Java Persistence. Для вопросов, связанных с (N) критериями гибернации, используйте тег [icriteria].

Цитата из обзора спецификации JPA 2.0:

6.1 Обзор

API-интерфейс Java Persistence Criteria, как и язык запросов Java Persistence, основан на абстрактной схеме сохранения сущностей, их встроенных объектов и их отношений в качестве модели данных. Эта абстрактная схема сохранения материализуется в форме объектов метамодели, над которыми работает API критериев. Семантика запросов критериев разработана для отражения семантики запросов языка запросов Java Persistence.

Синтаксис API критериев разработан для создания объектно-ориентированного "графа" запроса, узлы которого соответствуют элементам семантического запроса.

Переменные языка Java могут использоваться для ссылки на отдельные узлы в объекте запроса критериев по мере его создания и / или изменения. Такие переменные, когда они используются для ссылки на сущности и встраиваемые типы, составляющие домен запроса, играют роль, аналогичную роли переменных идентификации языка запросов Java Persistence.

Эти концепции более подробно описаны в следующих разделах. Метамодель, на которой основаны запросы критериев, представлена ​​в главе 5. Классы статической метамодели, которые можно использовать при построении строго типизированных запросов критериев, описаны в разделе 6.2. В javax.persistence.criteria интерфейсы представлены в разделе 6.3. В разделах с 6.4 по 6.8 описывается создание и изменение объектов запроса критериев. Дополнительные требования к поставщику персистентности описаны в разделе 6.9.