2011-05-13 93 views
2

我是休眠的新手。我看到一些查詢示例是用HQL編寫的,有些是使用條件和投影編寫的。我搜索了很多關於何時使用HQL以及何時使用標準的信息。哪一個更受歡迎,爲什麼?休眠HQL或條件

回答

4

如果您的查詢需要where子句中動態數量的字段,並且您不知道先驗,請使用條件。如果您的查詢始終具有相同的where子句,但您可能可以替換值,請使用hql。

您也可以在後一種情況下使用標準。

重點是不要動態地構建你的hql where子句和一串字符串連接。

0

我更喜歡hql超過標準,並建議儘可能使用hql。

使用hql,您可以創建命名查詢,並在啓動時解析這些查詢,並在出現錯誤時提供反饋。我相信,預分析也使得它們在運行時更有效率。

我也認爲hql比標準代碼更可讀。

+0

我同意,除非您需要動態構建實際查詢 – hvgotcodes 2011-05-13 19:11:27