1. 程式人生 > >HQL與SQL的區別

HQL與SQL的區別

面試官:HQL vs SQL

答:HQL 查詢語句是面向物件的, Hibernate 負責解析 HQL 查詢語句, 然後根據物件-關係對映檔案中的對映資訊, 把 HQL 查詢語句翻譯成相應的 SQL 語句。HQL 查詢語句中的主體是域模型中的類及類的屬性。 SQL 查詢語句是與關係資料庫繫結在一起的。SQL 查詢語句中的主體是資料庫表及表的欄位。

HQL 查詢包括以下步驟:

獲取Hibernate Session物件。

編寫HQL語句 以HQL語句作為引數,

呼叫Session的createQuery方法建立查詢物件。

如果HQL語句包含引數,則呼叫Query的setXxx方法為引數賦值。

呼叫Query物件的list()或uniqueResult()方法返回查詢結果列表(持久化實體集)