hibernate comment faire pour afficher les critères de requêtes

Je pense que c'est une simple question, bien que je ne sais pas comment le résoudre.

Dans un spring/Hibernate application, j'ai besoin d'afficher la requête que l'un des critères de l'exécuter.

Je sais que je peux utiliser show_sql propriété et le journal des requêtes à l'aide de log4j ou de toute autre structure de journalisation, mais ce que j'ai besoin c'est d'un niveau plus élevé de l'exploitation forestière.

J'ai une méthode comme ceci

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);
}

J'ai besoin avant exécute les critères.liste pour afficher la requête qui sera exécutée?

Est-il un utilitaire de classe dans les critères de l'api pour afficher la requête comme ce que je veux ?

Thnx à l'avance

OriginalL'auteur Fanooos | 2011-01-10