Criteria
Página 1 de 7
Anterior
Próxima
Capítulo 16. Consultas por critérios
16.1. Criando uma instância Criteria 16.2. Limitando o conjunto de resultados 16.3. Ordenando resultados 16.4. Associações 16.5. Busca de associação dinâmica 16.6. Exemplos de consultas 16.7. Projeções, agregações e agrupamento. 16.8. Consultas e subconsultas desanexadas. 16.9. Consultas por um identificador natural O Hibernate provê uma API de consulta por critério intuitiva e extensível.
16.1. Criando uma instância Criteria
A interface org.hibernate.Criteria representa a consulta ao invés de uma classe persistente particular. A sessão é uma fábrica para instâncias de Criteria .
Criteria crit = sess.createCriteria(Cat.class); crit.setMaxResults(50); List cats = crit.list();
16.2. Limitando o conjunto de resultados
Um critério individual de consulta é uma instância da interface org.hibernate.criterion.Criterion. A classe org.hibernate.criterion.Restrictions define os métodos da fábrica para obter certos tipos de
Criterion pré fabricados. List cats = sess.createCriteria(Cat.class) .add( Restrictions.like("name", "Fritz%") ) .add( Restrictions.between("weight", minWeight, maxWeight) ) .list();
Restrições podem ser logicamente agrupadas.
List cats = sess.createCriteria(Cat.class) .add( Restrictions.like("name", "Fritz%") ) .add( Restrictions.or( Restrictions.eq( "age", new Integer(0) ), Restrictions.isNull("age")
http://docs.jboss.org/hibernate/core/3.5/reference/pt-BR/html/querycriteria.html
13/11/2012
Capítulo 16. Consultas por critérios
Página 2 de 7
) ) .list();
List cats = sess.createCriteria(Cat.class) .add( Restrictions.in( "name", new String[] { "Fritz", "Izi", "Pk" } ) ) .add( Restrictions.disjunction() .add( Restrictions.isNull("age") ) .add( Restrictions.eq("age", new Integer(0) ) ) .add( Restrictions.eq("age", new Integer(1) ) ) .add( Restrictions.eq("age", new Integer(2) ) ) ) ) .list();
Existe um grande