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();
}

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