Я думаю, что это простой вопрос, хотя я не знаю, как его решить.
В приложении Spring / Hibernate мне нужно показать запрос, который выполняет критерий.
Iзнаю, что я могу использовать свойство show_sql и регистрировать запросы, используя log4j или любую другую структуру ведения журналов, но мне нужен более высокий уровень ведения журналов.
У меня есть такой метод
public void searchIntegrationClient(IntegrationClientSearchCommand integrationClientSearchCommand,PartialList<IntegrationClient> partialList) {
Session session = getSession();
Criteria pageCriteria=session.createCriteria(IntegrationClient.class);
if(StringUtil.isNotEmpty(integrationClientSearchCommand.getNameCmd())){
pageCriteria.add(Restrictions.like("name", integrationClientSearchCommand.getNameCmd(), MatchMode.START));
}
//adding ordering alphabetically
pageCriteria.addOrder(Order.asc("name"));
pageCriteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
List<IntegrationClient> list = (List<IntegrationClient>)pageCriteria.list();
partialList.setPartialResultList(list);
Criteria countCriteria=session.createCriteria(IntegrationClient.class);
if(StringUtil.isNotEmpty(integrationClientSearchCommand.getNameCmd())){
countCriteria.add(Restrictions.like("name", integrationClientSearchCommand.getNameCmd(), MatchMode.START));
}
countCriteria.setProjection(Projections.rowCount());
partialList.setTotalNumberOfRecords(((Integer)countCriteria.uniqueResult()).intValue());
releaseSession(session);
}
Мне нужно до того, как запустит attribute.list, чтобы отобразить запрос, который будет выполнен?
Есть ли в API критериев какой-либо служебный класс для показа запроса наподобие того, что я хочу?
Заранее спасибо