前者用的hql語句進行查詢,後者可以用sql語句查詢。
前者以hibernate生成的Bean爲對象裝入list返回
後者則是以對象數組進行存儲
所以使用createSQLQuery有時候也想以hibernate生成的Bean爲對象裝入list返回,就不是很方便
createSQLQuery有這樣一個方法可以直接轉換對象
Query query = session.createSQLQuery(sql).addEntity(XXXXXXX.class);
XXXXXXX 代表以hibernate生成的Bean的對象,也就是數據表映射出的Bean。
以後多注意,還是時不時的要看看hibernate各個對象方法的使用。
List<V_daysConsumeList>
daysConsumeList= systemService.findEntityListbySql(sql, V_daysConsumeList.class);
public
List<T> findEntityListbySql(final String sql,Class xxx) {
Query querys = getSession().createSQLQuery(sql).addEntity(xxx);
return querys.list();
}