API de Critérios

A API de critérios é uma API para construir consultas com objetos Java™, como uma alternativa para criar cadeias para as consultas Java Persistence Query Language (JPQL).

A API Critérios suporta a construção de consultas dinamicamente no tempo de execução e também a possibilidade de construir consultas de tipo seguro que podem ser verificadas pelo compilador. A correção das consultas JPQL não pode ser verificada pelo compilador e deve ser verificada no tempo de execução durante o teste.

A seguir há uma amostra de consulta JPQL que retorna uma lista de funcionários com menos de cinco anos de serviço:
SELECT e FROM Employee e WHERE e.serviceyears < 5
A seguir há uma amostra da consulta de Critérios equivalente:
QueryBuilder qb = emf.getQueryBuilder();
CriteriaQuery q = qb.create(Employee.class);
Root e = q.from(Employee.class);
q.where(qb.lt(e.get(Employee_.serviceyears), 5));
TypedQuery tq = em.createQuery(q);
List result = q.getResultList();
Nota: Employee_ é o Metamodelo da classe Employee.
Dois importantes recursos são melhorias a partir do JPQL:
  • A API de Critérios pode expressar consultas que não são possíveis por meio de JPQL. Para obter mais informações detalhadas, consulte a seção "Expressões de armazenamento de dados editáveis", no artigo developerWorks, Dinâmico, consultas de tipo seguro em JPA 2.0.
  • Um CriteriaQuery pode ser editado programaticamente. Para obter mais informações, consulte a seleção "Consulta editável", no artigo developerWorks, Dinâmico, consultas de tipo seguro em JPA 2.0.

Ícone que indica o tipo de tópico Tópico de Referência



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_criteriaapi
Nome do arquivo: rejb_criteriaapi.html