我是否將HQL查詢轉換爲純Oracle Query?將HQL(休眠查詢語言)轉換爲oracle查詢
有沒有翻譯這個。
例:
從表1 - >表1是表
隱蔽實體類作爲
SELECT * FROM表
感謝advane。
我是否將HQL查詢轉換爲純Oracle Query?將HQL(休眠查詢語言)轉換爲oracle查詢
有沒有翻譯這個。
例:
從表1 - >表1是表
隱蔽實體類作爲
SELECT * FROM表
感謝advane。
您可以簡單地打開Hibernate中的SQL日誌記錄並查看它生成的查詢。具體來說,設置該屬性:
hibernate.show_sql=true
編輯:如果根據您啓動服務器的方式stdout是不提供給你,然後你要改變Hibernate日誌配置打印SQL調試日誌。將此行添加到您的log4j屬性文件中。
log4j.logger.org.hibernate.SQL=DEBUG
您還可以使用各種記錄器。
<!-- Log all SQL DML statements as they are executed -->
<logger name="org.hibernate.SQL" level="debug" />
<!-- Log all JDBC parameters -->
<logger name="org.hibernate.type" level="debug" />
<!-- Log all second level cache activity -->
<logger name="org.hibernate.cache" level="debug" />
<!-- Log all transaction related activity -->
<logger name="org.hibernate.transaction" level="debug" />
<!-- Log everything -->
<logger name="org.hibernate" level="debug" />
正如其他人所說的,hibernate的hibernate.show_sql
屬性可以記錄Hibernate執行的SQL查詢。
對於交互式查詢,有Eclipse和IntelliJ IDEA的Hibernate控制檯插件可讓您輸入HQL查詢並執行它們。
請注意,這是一個非常有用的技術,用於瞭解是否需要執行HQL查詢的優化(即,您想要查看是否正在使用適當的索引運行您的HQL查詢)。
您還可以將'org.hibernate.SQL'的日誌記錄級別設置爲DEBUG。 – 2012-08-03 12:07:04
謝謝,如果我在hibernate.cfg中添加這個之後,我運行單元測試仍然不打印日誌。 – NPKR 2012-08-03 12:20:10
你如何啓動你的服務器?如果stdout不適用於您,您將看不到日誌。在這種情況下,@ Piotr設置hibernate日誌級別爲sqls進行調試的想法會有所幫助。 – 2012-08-03 12:25:29