Hibernate中查詢資料庫的幾

2021-07-29 06:11:58 字數 1209 閱讀 1656

hibernate中查詢資料庫的幾種方法

陽東明 hibernate中查詢資料庫中的資料是很重要的,我們有4種方法:

1、get()和load(),他們的用法完全一樣,都需要兩個引數,第1個是持久化物件類名.class,第2個是行號,也就是說這2個方法都只能返回固定的某一行的資料,但是需要注意的是:當輸入的引數行號在資料庫中不存在時,get()會返回乙個空物件,不會報錯,而load()會直接報錯。

2、query+hql,query query = session.createquery("from userpo");獲得乙個query物件,注意引數字串中不是乙個sql語句,from後面跟的是持久化物件名字,list list = query.list();就可以獲得資料庫中對應表的資料集合,下面的操作就和普通list沒區別了,當然我們也可以用iterator it = query.iterate();得到迭帶物件,操作和普通迭帶也沒區別。

3、sqlquery+sql,sqlquery query = session.createsqlquery(str),其中str就是乙個標準的sql語句.

4、criteria,條件查詢,criteria cr = session.createcriteria(userpo.class);建立乙個criteria物件,引數是所關聯的持久化物件,cr.add(restrictions.ge("id", 2));將查詢條件加入物件中,後面的操作就和query物件一樣了。

.hbm.xml配置:

1)class節點配置:

a、dynamic-update:僅包含發生變化的字段,預設值為false

b、dynamic-insert:僅包含發生變化的字段,預設值為false

2)generator節點配置:

a、由hibernate生成:(1)increment:使用按數值順序遞增的主鍵

(2)hilo:通過hilo演算法實現的主鍵生成機制

(3)uuid.hex:由hibernate基於128位唯一值產生演算法生成16進製制數值編碼後

以長度32的字串表

b、由資料庫生成:(1)identity:採用資料庫提供的主鍵生成機制。如db2,sqlserver,mysql等

(2)sequence:oracle中的序列機制產生

(3)native:作為主鍵,由hibernate根據dialect決定採用哪種方式

c、由程式:assigned:由外部程式負責生成,無需hibernate參與

Hibernate 查詢資料庫中的資料

1.criteria介紹 criteria與session繫結,其生命週期跟隨著session結束而結束,使用criteria時進行查詢時,每次都要於執行時期動態建立物件,並加入各種查詢條件,隨著session的 criteria也跟著 org.hibernate.criteria實際上是個條件附加...

hibernate資料庫分頁查詢

每頁顯示10條記錄,顯示書籍資訊的第二頁 public static void main string args hibernatesessionfactory.closesession 子查詢 查詢出從來沒有購買任何書籍的使用者public static void main string args...

Postgre資料庫中Hibernate主鍵配置

postgre資料庫表中,使用serial自增型字段作為資料表的主鍵時,hibernate在插入資料時會報 的異常。得知錯誤在 sql select nextval hibernate sequence 從提示可知得到hibernate sequence的下乙個值失敗,原來是資料庫中不存在hiber...