Как клонировать критерий объекта?
Я создал объект Criteria для объединения нескольких таблиц и применения нескольких ограничений. Затем мне нужно общее количество записей на основе примененных ограничений. Затем мне нужно применить детализацию нумерации страниц (с помощью набора maxList) и получить список объектов.
Criteria criteria = session.createCriteria(Property.class, "property")
.createAlias("property.propertyType", "type").createAlias(
"property.propertyConcern", "propertyConcern",
CriteriaSpecification.LEFT_JOIN).createAlias(
"propertyConcern.concern", "concern",
CriteriaSpecification.LEFT_JOIN).setResultTransformer(
CriteriaSpecification.DISTINCT_ROOT_ENTITY);
criteria = addMultipleSeachCriteria(criteria, condition);
criteria.setFirstResult(
pageCriteria.getFirstRecordOfCurrentPage())
.setMaxResults(pageCriteria.getRecordsPerPage());
criteria.addOrder(pageCriteria.isSortDescending() ? Order
.desc(pageCriteria.getSortBy()) : Order
.asc(pageCriteria.getSortBy()));
Когда я запускаю это, я получаю результаты, как я ожидал. Но мне нужно получить количество записей для примененных ограничений, не применяя порядок и setmaxResults.