Questo contenuto non è disponibile nella lingua selezionata.
15.2. Narrowing the result set
An individual query criterion is an instance of the interface
org.hibernate.criterion.Criterion
. The class org.hibernate.criterion.Restrictions
defines factory methods for obtaining certain built-in Criterion
types.
List cats = sess.createCriteria(Cat.class) .add( Restrictions.like("name", "Fritz%") ) .add( Restrictions.between("weight", minWeight, maxWeight) ) .list();
List cats = sess.createCriteria(Cat.class)
.add( Restrictions.like("name", "Fritz%") )
.add( Restrictions.between("weight", minWeight, maxWeight) )
.list();
Restrictions can be grouped logically.
There are a range of built-in criterion types (
Restrictions
subclasses). One of the most useful allows you to specify SQL directly.
List cats = sess.createCriteria(Cat.class) .add( Restrictions.sqlRestriction("lower({alias}.name) like lower(?)", "Fritz%", Hibernate.STRING) ) .list();
List cats = sess.createCriteria(Cat.class)
.add( Restrictions.sqlRestriction("lower({alias}.name) like lower(?)", "Fritz%", Hibernate.STRING) )
.list();
The
{alias}
placeholder with be replaced by the row alias of the queried entity.
You can also obtain a criterion from a
Property
instance. You can create a Property
by calling Property.forName()
: