你知道什麼關於Hibernate和它能夠用HQL生成動態sql查詢嗎?休眠和動態SQL
我有任何的鏈接,我將不勝感激張貼,我在Hibernate的文檔中找不到它。
問候 加布
//編輯 所以也許我會精確我的意思。我想知道如果一些HQL代碼生成使用像EXECUTE(用於postgres)的SQL查詢
你知道什麼關於Hibernate和它能夠用HQL生成動態sql查詢嗎?休眠和動態SQL
我有任何的鏈接,我將不勝感激張貼,我在Hibernate的文檔中找不到它。
問候 加布
//編輯 所以也許我會精確我的意思。我想知道如果一些HQL代碼生成使用像EXECUTE(用於postgres)的SQL查詢
不知道你在這裏瞄準什麼? Hibernate中的HQL將始終生成SQL,並且可以根據輸入將HQL集合在一起。它將始終爲每個排列和運行生成新的SQL。您可以進行Hibernate預編譯/緩存查詢,但這只是性能優化,不應該成爲您的首要關注點。
我也會考慮調查Criteria API,它可以讓你保持更多的面向對象而不是使用大量的字符串。
我想hibernate產生一個EXECUTE SQL語句 – 2011-12-15 13:14:59
我不同意標準是「更多面向對象」。 HQL是非常面向對象的,儘管它是在java或xml中存儲在字符串中的另一種語言。標準不那麼強大。建議用於動態查詢(而不是將HQL放在一起的字符串操作)。 – 2011-12-15 13:40:18
如果你在談論使用動態參數靜態查詢,語法是
select f from Foo f where f.bar = ? and f.zim = ?
,或者用命名參數
select f from Foo f where f.bar = :bar and f.zim = :zim
如果你談論的是基於完全動態創建查詢一組標準,那麼使用的API是Criteria API。
這兩者大部分都在Hibernate參考文檔中。
目前仍不清楚你的意思。你爲什麼需要執行語句?你要解決什麼問題? – 2012-01-03 07:44:37