Hibernate 为我们提供一套很好的数据持久化解决方案,同时Spring也为我们封装了很多模板方法,比如
实现HibernateDaoSupport后得到模板操作对象以及一些回调接口,如HibernateCallback,jdbcTemplete等,这些模板方法
大大的减少了我们的代码量,同时使得代码干净明了,今天谈谈我对HibernateCallBack的理解以及应用
首先,我们定义一个回调接口,回调接口的参数是一个上下问参数
定义个一模块操作类,将Hibernate中常用的OpenSession ,CloseSession,以及一些事物处理抽取出来作为模板对象
其中 action.invoke(session);是回调的关键,在JdbcTemplete中,action是一个接口,在实际调用过程中,使用匿名的内部类实现该接口,进行调用,如:
这样,我们就不用在每个持久化对象中定义,openSession ,closeSession等方法,可完全把这些代码放置到模板类中,不仅仅减少了代码量,同时代码也更加简洁