一个简单的HibernateCallback接口的调用

来源:互联网 发布:软件实施服务合同范本 编辑:程序博客网 时间:2024/05/16 23:36
interface HibernateCallback{public Object doInHibernate(Session session);}class Session{public Object createQuery(String hql){System.out.println(hql);return "添加成功";}}class BackCallTemplate{//这里是执行的方法public Object execute(HibernateCallback backCall){//这个方法的请求处理交给doExceute;return doExecute(backCall);}//它来做请求处理public Object doExecute(HibernateCallback action){//首先去判断是否已经有一个session对象,如果没有则创建一个,存在就返回Session对象//Session session = (enforceNewSession ?SessionFactoryUtils.getNewSession(getSessionFactory(), getEntityInterceptor()) : getSession());Session session = new Session();//这里执行架设函数return action.doInHibernate(session);}}public class TempateMain{public static void main(String[] args){BackCallTemplate getHibernateTemplate = new BackCallTemplate();//我们使用的是回调函数,在回调函数里处理行为String str = (String) getHibernateTemplate.execute(new HibernateCallback(){public Object doInHibernate(Session session){return session.createQuery("select count(id) from table");}});System.out.println(str);}}

原创粉丝点击