一.查詢物件的所有字段
string sql = "select * from jbpm_processdefinition";
sqlquery sqlquey = session.createsqlquery(sql).addentity(processdefinition.class);
listprocessdefinitions = sqlquery.list();
當在hibernate中使用原生sql語句查詢中,如果是查詢乙個物件的所有字段,在sqlquery的後面一定要呼叫addentity(processdefinition.class)這個方法不然會報錯,查詢出來的結果會自動封裝成為processdefinition物件!
二.查詢物件的個別字段
string sql = "select name_ from jbpm_processdefinition";
sqlquery sqlquey = session.createsqlquery(sql);
sqlquey.addscalar("name_",new stringtype());
list listone= sqlquery.list();
當在hibernate中使用原生sql語句查詢,如果只查詢物件(表)的部分字段,則要為每乙個字段設定型別,如:sqlquey.addscalar("name_",new stringtype());
listone裡面儲存的是乙個個的object物件 但是
string sql= "select name_ from jbpm_processdefinition";
sqlquey = session.createsqlquery(sql);
sqlquey.addscalar("name_",new stringtype());
sqlquey.addscalar("version_", new integertype());
list listmore = sqlquey.list();
listmore裡面儲存的是object的集合
Hibernate使用原生態SQL語句
我前面也有寫過一篇hibernate使用原生態sql語句的方法。但那種方法是新增實體類。沒有表,但要反射實體類進行對映,也就是要寫實體類。有興趣的可以在我部落格裡找到那篇看看。這次我記錄的是不需要寫實體類,資料庫也不需要做檢視。方法如下。1.string sql 這裡面寫的是sql語句,在資料庫中能...
hibernate 原生sql的使用
hql儘管容易使用,但是在一些複雜的資料操作上功能有限。特別是在實現複雜的報表統計與計算,以及多表連線查詢上往往無能為力,這時可以使用sql native sql 實現hql無法完成的任務。1 使用sql查詢 使用sql查詢可以通過兩種方式來實現 1 利用hibernate提供的sqlquery物件...
Hibernate 原生SQL查詢
hql儘管容易使用,但是在一些複雜的資料操作上功能有限。特別是在實現複雜的報表統計與計算,以及多表連線查詢上往往無能為力,這時可以使用sql native sql 實現hql無法完成的任務。1 使用sql查詢 使用sql查詢可以通過兩種方式來實現 1 利用hibernate提供的sqlquery物件...