[英]How can I check what parameter is finally passed with the query?
有什么方法可以檢查查詢,如何構造查詢框架或傳遞什么值? 我想檢查這個查詢:
String hql = "from Scheduled where stime <= current_time()"; // QUERY
List list = session.createQuery(hql).list();
我想知道current_time()
值是多少?
在休眠狀態下, current_time()
不會替換為特定的時間-它作為SQL的一部分傳遞到數據庫,並在那里進行評估。 因此, current_time()
將等於執行該語句時數據庫服務器上當前時間。
您可以啟用Hibernate日志記錄 ,這兩個參數應該對您有所幫助:
org.hibernate.SQL
在執行所有SQL DML語句時記錄它們 org.hibernate.type
記錄所有JDBC參數 如果您的基礎數據庫是SQL Server,則另一個選項是SQL Profiler。
這是log4j.properties中的條目,它對我有用以打印休眠查詢和參數。
log4j.logger.org.hibernate=DEBUG, stdout
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE,stdout
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.