hibernate 中createQuery與createSQLQuery的用法和區別

前者用的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();
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章