hibernate 投影查詢

2021-08-19 22:13:13 字數 647 閱讀 8684

1. 投影查詢就是想查詢某一字段的值或者某幾個欄位的值

2. 投影查詢的案例

* 如果查詢多個字段,例如下面這種方式

listlist = session.createquery("select c.cust_name,c.cust_level from customer c").list();

for (object objects : list)

* 如果查詢兩個字段,也可以把這兩個字段封裝到物件中

* 先在持久化類中提供對應欄位的構造方法

* 使用下面這種hql語句的方式

listlist = session.createquery("select new customer(c.cust_name,c.cust_level) from customer c").list();

for (customer customer : list)

我們知道hibernate框架是orm(持久層)型別框架,所以有很多資料庫優化方式,比如快取等等,

當我們只有查詢出某個物件中的1,2個屬性時,如果使用hql的方式的查詢,你將會是查詢該物件的全部屬性!

這就代表著,你將會降低查詢速度(浪費系統資源),hibernate框架為此也給出了解決方案:"投影查詢"

Hibernate的投影查詢

當查詢的記錄不是所有字段,而是指定的字段。如果需要使用乙個實體類接收。那麼需要乙個有引數的構造方法。我們將這種,有構造方法引數的查詢,稱為投影查詢。session.createquery select new customer c.custname,c.custsource from custome...

Hibernate分頁和投影

分頁 dao 分頁查詢 param index param pagesize return public listfindbypage integer index,integer pagesize service public listfindbypage integer index,integer...

LINQ查詢操作 投影

我們一般說的 linq 是指 linq 表示式,詳見 linq 步步學 但除了表示式以外,linq 查詢操作更方便,凡是實現了介面 ienumerable或 iqueryable的,都可以用 linq 查詢操作。select int arr var items arr.select i i fore...