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...