'independiente de la sesión objeto'
Criterios independiente se pueden utilizar en dos escenarios: criterios
construcción de consultas sin objeto de sesión:
Sesión sólo requiere durante la ejecución de la consulta/presentación de la consulta a la base de datos, no al crear la consulta.
Ex:
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Department.class);
detachedCriteria.add(Restrictions.eq("DEPTID", 1));
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.property("DEPTID"));
detachedCriteria.setProjection(projectionList);
//Add more
.............................
En el código anterior no se encuentra ninguna necesidad de contar con objeto de sesión para la construcción de una consulta tales criterios? Absolutamente no.
Creación de la misma consulta de criterios para varias veces:
Compilarlo una sola vez independientemente del objeto de sesión, y se puede usar cuando y donde quiera.
Finalmente, cuando el objeto de sesión está disponible, utilice la consulta anterior con la sesión de la siguiente manera:
detachedCriteria.getExecutableCriteria(session).list();
http://docs.jboss.org/hibernate/core/3.3/reference/en/html /querycriteria.html#querycriteria-detachedqueries – Reddy