`
hz_chenwenbiao
  • 浏览: 994587 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

 

如例子代码中,他希望在执行execute()时也执行HibernateCallback 中的一些方法。

5. HibernateTemplate提供这个HibernateCallback,
          就是为了满足这种使用了HibernateTemplate的情况下,
          仍然需要直接访问Session的需求而来的
          它提供了在HibernateTemplate里面直接访问Session的能力
          这个就是我们要使用HibernateCallback的原因.

 

载自:http://zhanglulu33.blog.163.com/blog/static/11279954201131342512544/

分享到:
评论

相关推荐

    gethibernatetemplate的find方法

    gethibernatetemplate的find方法,find(String queryString);find(String queryString , Object value);find(String queryString, Object[] values);findByExample(Object exampleEntity);findByExample(Object ...

    getHibernateTemplate()使用方法

    整合了hibernate的getHibernateTemplate()使用方法 全面详细 带有相应的例子

    getHibernateTemplate

    getHibernateTemplate()方法

    getHibernateTemplate()查询

    getHibernateTemplate()查询 hibernate hql

    getHibernateTemplate()有模糊查询和 分页

    getHibernateTemplate()有模糊查询和 分页getHibernateTemplate()有模糊查询和 分页

    spring_MVC源码

    弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...

    jsp中调用dao的getHibernateTemplate()时,报空指针

    jsp中调用dao的getHibernateTemplate()时,报空指针

    getHibernateTemplate分页-模糊查询

    getHibernateTemplate分页-模糊查询.hibernate查询以及分页查询等方法使用。

    hibernate模板类详解

    find(String queryString , Object value); 示例:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test"); 这样的例子里面还有很多

    Hibernate使用技巧汇总

    HibernateTemplate对Hibernate Session操作进行了封装,而 HibernateTemplate.execute方法则是一封装机制的核心 *在spring的配置文件里,移植了整个hibernate.cfg.xml的内容。

    第24次课-1 Spring与Hibernate的整合

    通常,程序中采用实现HibernateCallback的匿名内部类来获取HibernateCallback的实例,方法doInHibernate()就是Spring执行的持久化操作。 24.3 Spring对Hibernate的简化 24.3.5 HibernateDaoSupport Spring为与...

    ssh(structs,spring,hibernate)框架中的上传下载

    HibernateDaoSupport封装了HibernateTemplate,而HibernateTemplate封装了Hibernate所提供几乎所有的的数据操作方法,如execute(HibernateCallback action),load(Class entityClass, Serializable id),save(final ...

    手机充值卡充值

    return (Card)this.getHibernateTemplate().get(Card.class, cardPass); } @Override public void updateCard(Card card) { // TODO Auto-generated method stub this.getHibernateTemplate().update(card...

    图书查询-Java-Web程序设计教程-[共2页].pdf

    在 DAO 实现类 BookDAO.java 代码如下: public List getRequiredBookByName(String name){ try{ List books=this.getHibernateTemplate(). find("from Book where bookname like '%"+name+"%'"); return books; }...

    使用原生sql.txt

    我就是问: getHibernateTemplate()这个方法里没有执行sql语句的方法,只能用hql语句吗?

    Hibernate中Criteria的完整用法.docx

    Spring 的框架提供了getHibernateTemplate ().findByCriteria(detachedCriteria) 方法可以很方便地根据DetachedCriteria 来返回查询结 果。 DetachedCriteria 提供了 2 个静态方法 forClass(Class) 或 forEntityName...

    客户关系管理系统框架搭建(二)

    this.getHibernateTemplate().save(entity); } @Resource(name="sessionFactory") //注入sessionFactory public void setSessionFactoryDI(SessionFactory sessionFactory) { ...

    Struts2 Spring hibernate 国际化 表单验证 安全退出

    添加以下方法 ,loginaction的条件用这个来改 public boolean login(String username, String password) { // TODO Auto-generated method stub String param[]={username,password}; List list= this....

    spring 理解文件HibernateDaoSupport

    .相同点:在applicationConext.xml中 ... HibernateDaoSupport: 在impl中要调用的方法要getHibernateTemplate().delete(user); UserDaoHiberateImpl: 在impl中要调用的方法要hibernateTemplate.save(user);

    Spring中常用的hql查询方法

    Spring中常用的hql查询方法_(getHibernateTemplate())

Global site tag (gtag.js) - Google Analytics