主要参考这几篇文章:
1.hibernate入门实例:http://blog.csdn.net/passion_wu128/article/details/50103513
2.Hibernatecallback()详解:http://blog.csdn.net/yaerfeng/article/details/7618448
3.关于Hibernate中HibernateCallback的回调:http://blog.csdn.net/moonsbird/article/details/2883311
4.spring对hibernate事物处理:http://www.cnblogs.com/m-xy/archive/2013/05/14/3077627.html
那些文章内容太多说的有些晦涩,但大致说起来如下:spring这个框架有一个HibernateTemplate类,它是给hibernate打辅助用的,优点是HibernateTemplate封装了事务处理,可以省去hibernate操作数据时事物处理的麻烦(自动完成事务处理,不用手动操作),缺点是一般情况下只能写简单的数据库操作(比如save()保存数据),不能直接实现复杂的数据库操作。所以问题来了,我们又想实现复杂操作又不想自己写事物处理,这时应该怎么办呢?那么我们就要在原有的Hibernatetempate类里加上我们自己想要的操作,具体步骤即调用HibernateTemplate类的execute方法把HibernateCallback作为参数,之后实现HibernateCallback的一个函数,在函数里自定义了一个复杂的数据库操作。这个时候即有了复杂操作又有了HibernateTemplate的自动完成事物的属性,就两全其美了。
简而言之HibernateCallback起到在可以自动完成事务处理的同时又可以完成复杂操作的作用