Appendix B. The Criteria API

Criteria queries start by obtaining a Criteria object from the Session, using the createCriteria() method to identify the primary class (and thus table) on which the query is to be performed. Restrictions, projections, and orderings are then attached to the query using the factories described below, making it a very powerful and convenient interface.

The Criterion Factory

Hibernate provides the class org.hibernate.criterion.Restrictions as a factory for creating the Criterion instances you use to narrow down the objects (rows) you want from criteria queries. Restrictions defines a bunch of static methods you can invoke to conveniently create each of the standard Criterion implementations available in Hibernate, using parameters you supply. These criteria are used to determine which persistent objects from the database are included in the results of your query. The following table provides a summary of the available options.

MethodParametersPurpose
allEq Map propertiesA shortcut for requiring several properties to have particular values. The keys of the supplied map are the names of the properties you want to constrain, while the values in the map are the target values each property must equal if an entity is to be included in the query results. The returned Criterion ensures that each named property has the corresponding value.
and Criterion lhs, Criterion rhsBuilds a compound Criterion that requires both halves to be met in order for the whole to succeed. ...

Get Harnessing Hibernate now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.