溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Hibernate查詢語言有哪些

發(fā)布時間:2021-06-17 09:43:56 來源:億速云 閱讀:112 作者:chen 欄目:編程語言

這篇文章主要介紹“Hibernate查詢語言有哪些”,在日常操作中,相信很多人在Hibernate查詢語言有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Hibernate查詢語言有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

在向大家詳細(xì)介紹Hibernate查詢語言之前,首先讓大家了解下大小寫敏感性問題,然后全面介紹Hibernate查詢語言。

Hibernate查詢語言

Hibernate配備了一種非常強(qiáng)大的查詢語言,這種語言看上去很像SQL。但是不要被語法結(jié)構(gòu) 上的相似所迷惑,HQL是非常有意識的被設(shè)計為完全面向?qū)ο蟮牟樵?,它可以理解如繼承、多態(tài) 和關(guān)聯(lián)之類的概念。

大小寫敏感性問題

除了Java類與屬性的名稱外,查詢語句對大小寫并不敏感。 所以 SeLeCT 與 sELEct 以及 SELECT 是相同的,但是 org.hibernate.eg.FOO 并不等價于 org.hibernate.eg.Foo 并且 foo.barSet 也不等價于 foo.BARSET。

本手冊中的HQL關(guān)鍵字將使用小寫字母. 很多用戶發(fā)現(xiàn)使用完全大寫的關(guān)鍵字會使查詢語句 的可讀性更強(qiáng), 但我們發(fā)現(xiàn),當(dāng)把查詢語句嵌入到Java語句中的時候使用大寫關(guān)鍵字比較難看。

關(guān)聯(lián)(Association)與連接(Join)

我們也可以為相關(guān)聯(lián)的實體甚至是對一個集合中的全部元素指定一個別名, 這時要使用關(guān)鍵字join。

from Cat as cat  inner join cat.mate as mate  left outer join cat.kittens as kitten  from Cat as cat left join cat.mate.kittens as kittens  from Formula form full join form.parameter param

受支持的連接類型是從ANSI SQL中借鑒來的。
◆inner join(內(nèi)連接)
◆left outer join(左外連接)
◆right outer join(右外連接)
◆full join (全連接,并不常用)

還有,一個"fetch"連接允許僅僅使用一個選擇語句就將相關(guān)聯(lián)的對象或一組值的集合隨著他們的父對象的初始化而被初始化,這種方法在使用到集合的情況下尤其有用,對于關(guān)聯(lián)和集合來說,它有效的代替了映射文件中的外聯(lián)接 與延遲聲明(lazy declarations).以上介紹Hibernate查詢語言。

到此,關(guān)于“Hibernate查詢語言有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI