這篇文章給大家分享的是有關(guān)Hibernate中query語(yǔ)句有什么用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
員工經(jīng)過(guò)長(zhǎng)期磨合與沉淀,具備了協(xié)作精神,得以通過(guò)團(tuán)隊(duì)的力量開(kāi)發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)公司堅(jiān)持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因?yàn)椤皩W⑺詫I(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡(jiǎn)單”。公司專注于為企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、電商網(wǎng)站開(kāi)發(fā),微信小程序,軟件按需制作網(wǎng)站等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。
今天要在sqlserver環(huán)境下做一個(gè)簡(jiǎn)單的增刪改功能,要用到分頁(yè),開(kāi)始直接用oracle數(shù)據(jù)庫(kù)環(huán)境一直用的一個(gè)jdbc重構(gòu)過(guò)的類處理,發(fā)現(xiàn)不行,才想起oracle和sqlserver的分頁(yè)sql語(yǔ)句寫法是很不一樣的,于是打算google一下,緊接又想,何不先看看Hibernate在sqlserver環(huán)境是怎么處理分頁(yè)的(我這里用的是Hibernate 3.0)。
先把Hibernate配置文件的show_sql改成true,啟動(dòng)tomcat,在項(xiàng)目原來(lái)的一個(gè)功能里找到一個(gè)翻頁(yè)的地方,比如每頁(yè)顯示兩條,***頁(yè)的時(shí)候,Hibernate query語(yǔ)句是:SELECT TOP 2 * FROM …… 恩,對(duì)的,看來(lái)Hibernate還比較聰明,***頁(yè)直接用top語(yǔ)句,可是點(diǎn)下一頁(yè),當(dāng)查詢的記錄應(yīng)是3-4條時(shí),Hibernate query語(yǔ)句是: SELECT TOP 4 * FROM…… 不理解了,難道Hibernate這么笨嗎,如果我要查的是第100萬(wàn)條到100萬(wàn)零10條的記錄,難道他也是先把這100萬(wàn)零10條全部查出來(lái)嗎?
但是我測(cè)試的結(jié)果就是如果我要去第5000頁(yè)的數(shù)據(jù),他就是select top 10000 * from ……這樣取出來(lái)的。但是如果把sql dialect 改成oracle,處理是用 rownum 直接去取需要的中間那么多條記錄的。明天升級(jí)到***的Hibernate 3.3試試看會(huì)不會(huì)這樣。難道java的開(kāi)源框架對(duì)sql server這么感冒? 呵呵
監(jiān)控了下數(shù)據(jù)庫(kù),發(fā)現(xiàn)公司的php程序在翻頁(yè)時(shí)也是這樣處理的,我就奇怪了,sql server2005中也有rownum概念的啊。看來(lái)代碼從sql server2000到2005以后還是要做一些優(yōu)化的
感謝各位的閱讀!關(guān)于“Hibernate中query語(yǔ)句有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
當(dāng)前名稱:Hibernate中query語(yǔ)句有什么用
文章源于:http://aaarwkj.com/article22/gpjcjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、做網(wǎng)站、企業(yè)建站、、自適應(yīng)網(wǎng)站、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)