2011-12-05 27 views
2

您好,我對hibernate有一個基本的疑問。 如果我們在Hibernate中使用HQL,數據如何從數據庫中獲取? 它是否像Hibernate將HQL轉換爲SQL並在數據庫中執行並返回結果?如果是這種情況,不會將HQL轉換爲SQL是額外的開銷?hibernate如何工作?

請說清楚。謝謝。

回答

8

是的,HQL被轉換爲SQL。當然還有一個額外的開銷,但由於

  • 花費更少的時間來開發應用程序和硬件比工程師時便宜
  • 的應用程序比使用JDBC代碼更易於維護遍,這是值得放置
  • Hibernate能夠通過僅在需要時查詢和更新,批量更新等來優化JDBC代碼。
  • 與實際執行查詢的成本相比,此轉換的成本可以忽略不計,過程和/或網絡調用數據庫。
相關問題