hibernate執行sql的三種方式


方式一:直接使用HibernateTemplate的find()方法,find方法支持執行hql語句

List<T> list = this.getHibernateTemplate().find(finalHql, params); 

 

方式二:獲取SessionFactory,再獲取Session

 

SessionFactory sf = this.getHibernateTemplate().getSessionFactory();

Session s = sf.getCurrentSession();

Query query = s.createQuery(finalHql);

query.setParameter(0, params[0]);

query.setParameter(1, params[1]);

List<T> list = query.list();

 

方式三:使用hibernateTemplate調用回調函數

List<T> list = this.getHibernateTemplate().execute(new HibernateCallback() {

public Object doInHibernate(Session session)

throws HibernateException, SQLException {

Query query = session.createQuery(finalHql);

if(params!=null && params.length>0){

for(int i=0;i<params.length;i++){

query.setParameter(i, params[i]);

}

}

return query.list();

}

});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM