考慮以下查詢。對於Subqueriers - 什麼是好? HQL或標準 - 訪問標準
SELECT * FROM T1 WHERE T1.id = (SELECT id1 FROM T2 where T2.id1 = (SELECT id2 FROM T3))
AND T1.anotherId IN (SELECT id3 FROM T3);
我猜HQL比使用Criteria API和DetachedCriteria更高效嗎?
我在我的項目中實現了(主要)Criteria,它看起來很OOP。對眼睛也更容易(這取決於感知)
想法?
這不是一個建設性的問題。 – 2012-01-16 10:29:58
此查詢可以在沒有任何使用連接的單個子查詢的情況下重新實現。 HQL和標準不應該有任何區別:大部分時間用於執行查詢和獲取結果,無論用於構建查詢。如果你和你的同事發現標準比HQL更可讀(我不同意),然後使用標準。 – 2012-01-16 10:31:53
高效率在哪? a)字符編寫,b)執行時間,c)解析時間? HQL在a)中獲勝明顯,但b)和c)應該幾乎相等 – Firo 2012-01-16 10:32:02