Hibernate中的模板回调机制是相当简单的。包含一个HibernateTemplate和一个回调接口:HibernateCallback。而HibernateCallback接口只有一个方法:
Object doInHibernate(Session session) throws HibernateException,SQLException;
你可以看到,这个HibernateCallback接口是非常容易明白的。现在,让我们来使用HibernateTemplate。我们从取得数据库里的一个对象开始:
这里使用了内部类,比起还没使用Spring的Hibernate支持,会多些代码,也不整洁。而有Spring支持后,你所要做的就是调用其中的一个简便的方法,让Spring框架来做剩下的工作。来看看,完成相同的事情------从数据库取得一个对象:
怎么样,简单吧!!!
HibernateTemplate类包含大量简便的方法,供你使用。例如,更新一个Student对象:
执行查询也没有很大的不同。我们需要做的就是指定查询语句(通常使用Hibernate的查询语言:HQL)。通过姓氏查找学生的查询如下:
相当的直观对吗?就算你以前从来没看过HQL,这个代码也很容易明白。Spring框架就是致力于简化整合。
实际开发中,你可以将hibernateTemplate的各种方法再封装一下,暴露出更合适的方法给开发人员调用。
这个类提供给你一个方便的方法------getHibernateTemplate(),很容易就能得到HibernateTemplate的一个实例。它也有getSession和closeSessionIfNecessary()方法,以便于你因为某些原因而不使用 HibernateTemplate的情况下执行Hibernate操作。
附配置: