2011-01-10 8 views
4

私はそれを解決する方法はわかりませんが、これは簡単な質問だと思います。基準のクエリを表示する方法を休止

Spring/Hibernateアプリケーションでは、条件が実行するクエリを表示する必要があります。

私はshow_sqlプロパティを使用して、log4jやその他のロギングフレームワークを使用してクエリをログできることを知っていますが、必要なものはより高いレベルのロギングです。

私は私が前に実行されるクエリを表示するcriteria.listを実行必要がある。この

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にユーティリティクラスがありますか?

のthnx事前

答えて

8

に私はJPAの基準APIのいずれかのユーティリティクラスを知りません。しかし、ハイバネート・パーシスタンス・レベルにSQL文を表示する可能性があります。

あなたpersistence.xmlのファイルに次の行を追加します。あなたはまた、org.hibernate.typeにTRACEのログレベルを設定することができlog4jのを使用している場合は、

<properties> 
     <property name="hibernate.show_sql" value="true" /> 
    </properties> 

より詳細な情報をログに表示します。 ...

を、私はこのことができます願ってい

<category name="org.hibernate.type"> 
    <priority value="TRACE"/> 
    <appender-ref ref="FILE"/> 
</category> 

:あなたのlog4j-config設定にこれらの行を追加します(あなたはもちろんの「ファイル」と呼ばれるいくつかのアダプタを持っている必要があります)

関連する問題