Executing a subquery using a criteria
In this recipe, we will take a look at how to use subquery. Here, we will do the same thing as before; we will use the DetachedCriteria
class provided by the hibernate API. The DetachedCriteria
class works in detached mode
and is used to create a criteria query when the session is not available, as we can execute DetachedCriteria
with the existing session object.
How to do it…
We will create one scenario to show how DetachedCriteria
acts as a subquery.
The scenario is to get all the products whose categories have been recently added.
The preferred solution for this problem is as follows:
First, we will create
DetachedCriteria
to find the maximumcreatedOn
dateThen, we will use the result of the first query to check the date of the product's category
Consider the following code:
Code
/* Line 1 */ DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Category.class); /* Line 2 */ detachedCriteria.setProjection(Projections.max("createdOn")); /* Line 4...