spring3.2 hibernate3.6 整合中 超类的使用HibernateDaoSupport

在最近的项目中使用 想在通用dao中使用HibernateDaoSupport

却发现报 'sessionFactory' or 'hibernateTemplate' is required;

在HibernateDaoSupport 源码中

处理sessionFactory

    public final void setSessionFactory(SessionFactory sessionFactory) {
        if (this.hibernateTemplate == null || sessionFactory != this.hibernateTemplate.getSessionFactory()) {
            this.hibernateTemplate = createHibernateTemplate(sessionFactory);
        }
    }

  不能被继承 也就无法通过正常方式赋值。

  所以在通用的dao中加上

     @Autowired
    public void setSessionFactory_(SessionFactory sessionFactory){
      super.setSessionFactory(sessionFactory);
    }

  然后配置文件中

    
        
           
        

    

   测试后没有问题。

你可能感兴趣的:(spring3.2 hibernate3.6 整合中 超类的使用HibernateDaoSupport)