Я думаю, что это простой вопрос, хотя я не знаю, как его решить.
В приложении Spring / Hibernate мне нужно показать запрос, выполняемый критерием .
Я знаю, что могу использовать свойство 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);
}
, который мне нужен перед выполнением критерии. список, чтобы показать запрос, который будет выполнен?
Есть ли какой-нибудь служебный класс в api критериев, чтобы показать запрос как то, что я хочу?
Спасибо заранее