我们知道,Spring中,HibernateTemplate是依靠回调函数HibernateCallBack来实现其功能的,但在我们的系统中, 这个CallBack可能不满足我们的要求,这时,我们就需要实现自己的HibernateCallBack,本文讨论实现 自己的HibernateCallBack的方法.
1:声明回调接口 public interface HongSoftCallback { Object doInHongSoft(Connection aConn, Object arg) throws HongSoftException; }
2:定义回调函数(HibernateTemplate.java) public Object load(final int id) throws DataAccessException { return execute(new HongSoftCallback() { public Object doInHongSoft(Connection aConn, Object arg) throws HongSoftException; { return aConn.load(arg.toString(), id); } }); } 这里定义了回调函数,并通过execute()调用了该回调函数
3:具体的execute()方法
try { Object result = action.doInHongSoft(conn,id); return result; } catch (HongSoftException ex) { throw convertHongSoftException(ex); } finally { conn.close(); }
4:调用回调函数 return getHibernateTemplate().load(3);
|