getHibernateTemplate().execute(new HibernateCallback())方法

1. HibernateCallback是一個接口,該接口只有一個方法doInHibernate(org.hibernate.Session session),該方法只有一個參數 Session。

 

2. 方法 doInHibernate 的方法體就是 Spring執行的持久化操作。

 

3. 使用HibernateTemplate執行execute(new HibernateCallback())方法,從HibernateCallback中得到session,在此session中做多個操作,並希望這些操作位於同一個事務中。

 

4. 回調實際就是一種事件觸發模式,就象連環地雷一樣,一旦觸發一個,這個再觸發另外一個,你在find這個方法被執行時,希望同時執行其他方法,就需要回調。

 

例如:

          return (List<E>) getHibernateTemplate().execute(
                new HibernateCallback() {
                        public Object doInHibernate(Session session)
                              throws HibernateException {
                                          Criteria criteria = session.createCriteria(entityClass);
                                          criteria.setFirstResult(pageSize * (pageIndex));
                                          criteria.setMaxResults(pageSize);
                                          return criteria.list();
            

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