2013-05-14 50 views
2

使用Java語言在從Hibernate執行UPDATE時可以獲取本機SQL查詢嗎?休眠:更新 - 如何獲得本機SQL查詢

例如,我有

session.update(something); 

發言,我想檢索包含UPDATE操作背後的SQL查詢String(或別的東西)。


我想要有效的查詢,Hibernate「發送」到MySQL。

+0

u能解釋clearly.Which字符串? – PSR 2013-05-14 10:19:52

+2

我相信這頁推薦你需要的東西: http://stackoverflow.com/questions/2536829/hibernate-show-real-sql – 2013-05-14 10:22:13

回答

1

以編程方式獲取查詢是不可能的(或者至少在不編碼特定數據庫的情況下不可能):SQL查詢依賴於您使用hibernate進行交互的數據庫,並且通常不能通過hibernate直接訪問它取決於數據庫驅動程序。

查看實際SQL語句的最佳方法是查看數據庫的日誌文件。

2

你有兩個選擇......

  • 你可以設置你的persistance.cfg.xml <property name="show_sql">true</property>,但這不會在參數顯示的數值,公正?

  • 您可以(我的首選選項)使用SQL事件探查器(如果您使用的是MS SQL)來確切地查看針對數據庫運行的SQL是什麼。