Hibernate 檢索方式

2021-08-30 15:00:35 字數 1264 閱讀 4882

hibernate常見檢索方式有以下幾種:

1> 導航物件圖檢索方式:

根據已經載入的物件導航到其他物件。例如對於已經載入的customer物件,呼叫customer.getorders().iterator()方法,則得到所有與之關聯的order物件。

2> oid檢索方式

此方式是按照物件的oid來檢索物件。常見的是session中load()或get()方法,例如

session.load(customer.class,new long(1));得到customer中oid為1的物件。

3> hql檢索方式

這時hibernate應用最廣的檢索方式,使用物件導向的查詢語言hql,執行各種複雜的hql查詢語句。

例如://建立query語句

query query=session.createquery("from customer as c where c.name=:customername and c.age=:customerage");

//動態繫結引數

query.setstring("customername","tom");

query.setinteger("customerage",21);

//執行查詢語句

list result=query.list();

4> qbc檢索方式

使用qbc api來檢索物件,這種api封裝了基於字串形式的查詢形式,提供了物件導向的查詢介面。

例如://建立criteria物件

criteria criteria=session.createcriteria(customer.class);

//新增查詢條件

criterion criterion=restrictions.like("name","t%").eq("age",new integer(21));

criteria.add(criterion);

//執行查詢語句

list result=criteria.list();

5> 本地sql查詢方式

例如://建立query語句

query query=session.createsqlquery("select * from customers where name like:customername");

//動態繫結引數

query.setstring("customername","t%");

//執行sql select語句

list result=query.list();

Hibernate檢索方式

hibernate 的檢索方式有5種。customer c session.get customer.class,2 c.getorders size 可以根據已經載入的物件導航到其他物件,如一對多的查詢。session.get customer.class,3 session.load order...

Hibernate檢索方式

entity table name t customer catalog hibernatetest4 namedquery name myhql query from customer name entities 對命名查詢結果進行封裝,測試本地sql命名查詢 namednativequery n...

Hibernate檢索方式 二

使用別名帶引數查詢 test public void test3 模糊查詢 test public void test10 投影操作 查詢物件的某幾個屬性 test public void test9 查詢客戶的名稱和id 泛型中使用具體物件 list list session.createquer...