這種hibernate的查詢有問題嗎!?

2023-03-04 12:35:03 字數 4725 閱讀 4128

1樓:匿名使用者

hql與你使用的struts2 spring沒有任何關係。

這樣寫是不正確的。

select from fs where ?

select from fs where ?

中間查詢的結果返回的應該是乙個集合,而你直接將返回值作為再檢索條件顯然不對,這樣寫難於操作,另外兩個待定引數的場合,應該需要兩個實際傳值。

建議解決案:

分拆這個hql,先。

select , from fs where =

將取得的結果進行整理,得到唯一的fortes,provance

這樣再進行。

from fsocialuser fs where ? and ?

二次查詢就行了。

2樓:以畫屏屏

模型複雜,類層次很多,複雜的查詢,建議使用sql,可參考下ibatis

take it easy

hibernate怎麼用查詢

3樓:胖胖仔說支付

1:hibernate資料查詢方式:有hql方式,qbc方式,原生sql方式。hql適合靜態查詢,qbc則適合較多的動態查詢。

a:hql方式,支援條件查詢,連線查詢,分頁查詢,分組查詢,內建函式和自定義函式查詢(sun(),min(),max())子查詢,動態繫結引數查。

hql語句定義如下:

string hql="from book";

query query=;

b:qbc方式,也就是qbc檢索方式。qbc通過session類建立criteria例項,通過不同方法進行檢索,實際上criteria是用來裝載查詢條件的容器。

qbc有很多條件函式,如:,resstictions.

gt(),等。

criteria容器使用方法如下:

criteria criteria=;

"id",new integer(4)))

list list=;

c:原生sql方式。不管是hql還是qbc最終都要通過hibernate來解析,把他們轉換成sql語句進行對資料庫的操作。因為我們知道sql可以在多平台之間使用。

使用原生sql方式如下:

string sql="select from book b"

sqlquery squery=;

"b",;list list=;

2:hibernate的關聯查詢。

a:一對一關聯:

b:一對多,多對一關聯。

c:多對多關聯。

最後,要學hibernate,平時要多動手,慢慢積累經驗,成就感就會也大,這樣才能學而不厭。祝你學習進步。

4樓:輕風暖雲

hibernate主要有三種查詢方式hql、qbc、sql:

1).hql(hibernate query language):hibernate資料查詢語言;

2).qbc(query by criteria):規則查詢3).sql:原生的sql語句(較為複雜的情況下使用)想要詳細了解的可以看一下下面的幾篇文章:

qbc資料查詢。

hql單表查詢。

hql多表查詢。

希望對你有所幫助~

5樓:網友

1. create entitymanager

2. create entitytransaction ;em 就是剛才建立的entitymanager

3. ;tx 就是 entitytransaction 物件。

4. create query object5. ;

6樓:匿名使用者

那建議你靜下心來,找本書好好看看,推薦你看一下《深入淺出hibernate》,這樣你了解的更全面,更系統。

hibernate有幾種查詢方法

7樓:輕風暖雲

hibernate主要常用有三種查詢方式hql、qbc、sql:

1).hql(hibernate query language):hibernate資料查詢語言;

2).qbc(query by criteria):規則查詢3).sql:原生的sql語句(較為複雜的情況下使用)想要詳細了解的可以看一下下面的幾篇文章:

qbc資料查詢。

hql單表查詢。

hql多表查詢。

希望對你有所幫助~

8樓:日天小子胖胖

我只說 我常用的幾種 hibernate hql查詢方法。

hibernate 在spring管理下 可以用類繼承了(extends) hibernatedaosupport

然後 下面是乙個我熟悉的寫法:

public listfind(final string hql, final int currentpage, final int pagesize,final string params)

return ;

}或protected listpage(string hql,int currentpage,int pagesize, string...params), pagesize));

return ;

}除了以上還有criteria查詢,本人沒用過,網上還有許多,你自己可以搜搜,學習學習。

hibernate三種狀態的問題?

9樓:匿名使用者

hibernate會自己建立乙個繼承於你的實體類的子類,子類裡有一些表示狀態和字段關聯資訊的屬性,能追蹤到當前的連線狀態,和實體類的屬性值變化。

通過這些屬性控制轉換。

10樓:匿名使用者

1,瞬時態(臨時態)

a,不被session管理。

b,資料庫中沒有這條記錄。

c,可以被jvm垃圾**。

2,持久太。

a,被session管理。

b,資料庫中記錄儲存。

c,不能**。

3,游離態(脫離態)

a,不被session管理。

b,資料庫中有記錄。

c,可以被jvm垃圾**。

11樓:毛帥項巍然

hibernate的物件有3種狀態,分別為:瞬時態(transient)、持久態(persistent)、脫管態(detached)

.處於持久態的物件也稱為po(persistenceobject),瞬時物件和脫管物件也稱為vo(valueobject).

hibernate是什麼?

12樓:匿名使用者

是j2ee的核心技術之一。

即使不用寫sql語句也可以運算元據庫。

把資料庫程式設計與web程式設計劃分開。

13樓:匿名使用者

是orm思想的一種實現 就是物件關係的印射。

為什麼很多人不願意用hibernate了

14樓:

因為人都怕幫助別人自己卻受到虧損。

為什麼要使用hibernate。

15樓:謝謝笑笑妹x浄

對於乙個專案來講,dao設計的乙個原則就是可以比較方便的替換orm的具體實現。比如我可以替換hibernate為ibatis而不需要改變我的業務**。

這是不是說只是在dao的實現階段,才會考慮到hibernate?2,在我學過的所有框架中,hibernate是比較難以掌握的乙個。而且從論壇上提問的情況可以看出來,很多人對hibernate的理解差不多跟我同樣的水平。

針對乙個專案而言,如果專案組內沒有hibernate專家,還是不要使用hibernate的為好,而成為hibernate方面的專家是一件非常困難的事情。是不是很多人在為了使用hibernate而使用hibernate?而不是針對專案組的實際情況呢?

5,我曾經在沒有使用過ibatis的時候,僅僅通過看同事的**就能使用ibatis,而且使用起來得心應手。但是我現在專門學習hibernate超過五十個小時,我覺得我還是不能熟練的掌握hibernate,這是為什麼?(如果hibernate這麼複雜,我們可以因為他複雜而不去使用他嗎?

hibernate有什麼理由去說服我們為了學習他而花那麼多時間?) 1.為了減少拼sql的工作,這點ibatis也可以解決。

2.可以實現二級快取,這點ibatis裡的cache不知道能做到多少,介於兩種框架對資料庫的要求和建模方式,cache的效果應該是hibernate強於ibatis。

可以跨主流資料庫,這點是ibatis比不了的。

hibernate比ibatis複雜很多,資料庫建模要保持多外來鍵,少冗餘才能保證對大限度利用快取。雖然你設計成少外來鍵多冗餘的方式hibernate也能實現,但是總覺得不利於快取。

因為hibernate的複雜,如果專案裡沒有乙個特別了解的人,專案一定會在關鍵問題上堵死,所以一定要小心選用。不懂的話,不要冒險,為了專案著想。 1:

dao一般式遮蔽底層資料庫的差異吧。

2:hibernate 不熟悉的話,建議還是不要用。如果實在想試試身手,對於一些表的關係不是很複雜的專案可以考慮下。個人比較傾向spring jdbctemplate

1 開發快,公司看重,碼奴標配。

2 可以基於領域驅動,不需要去過分關注煩人的資料庫。

3 優化得當,效能不同凡響。(不得當也是不同凡響)缺點:1 學習曲線高(回頭看看還真不低)

Hibernate取查詢結果集

session hibernateutil.currentsession transaction tran session.begintransaction string sql select t.id,t.pid,t.name,t.url,select count from tree s wher...

怎樣查詢我的聯通卡的業務有什麼,怎樣查詢聯通卡的業務有什麼?

可登入手機營業廳或客戶端 點選查詢 業務查詢 業務受理記錄,即可查詢所辦理的sp業務資訊,如受理地點 受理日期。查詢號碼已開通業務的更多方法如下 1.登入網上營業廳 首頁點選 話費查詢 其他查詢 業務辦理記錄 2.登入手機營業廳客戶端,點選 服務 查詢 使用量查詢 業務受理記錄 3.可編輯簡訊 yd...

怎麼查詢 借過的各個網貸?如何查詢自己是否有網貸?

正常情況下就是查詢你的徵信記錄,看哪些機構查過你的徵信,然後就是在支付寶裡面有個信用授權那能會有你申請過的貸款,有個別的不查徵信的那些就很難查了。1 在傳統p2p模式中,網貸平台僅為借貸雙方提供資訊流通互動 資訊價值認定和其他促成交易完成的服務,不實質參與到借貸利益鏈條之中,借貸雙方直接發生債權債務...