實現自己的HibernateCallBack
來源:互聯網
上載者:User
我們知道,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);