überwintern wie die Kriterien Abfragen

Ich denke, das ist eine einfache Frage, obwohl ich nicht weiß, wie es zu lösen.

In einem spring/Hibernate-Anwendung, die ich brauche, um zu zeigen, die Abfrage, die ein Kriterium ausführen.

Ich weiß, dass ich verwenden können, show_sql Eigentum und protokollieren der Abfragen mit Hilfe von log4j oder andere logging-framework, sondern was ich brauche, ist eine höhere Stufe der Protokollierung.

Habe ich eine Methode wie diese

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

Muss ich vor führt die Kriterien.Liste zeigen, die die Abfrage ausgeführt wird?

Gibt es eine utility-Klasse in der Kriterien-api zum anzeigen der Abfrage, wie das, was ich will ?

Thnx im Voraus

InformationsquelleAutor Fanooos | 2011-01-10

Schreibe einen Kommentar