异常:/hibernate.cfg.xml not found

具体表现:

debug:工具类getSession()方法获得为空
页面:query对象空指针
命令行:(1)”%%%% Error Creating SessionFactory %%%%”
(2)/ hibernate.cfg.xml not found。(此文件本已集成到Spring)

产生原因:

在使用了HibernateTemplate(两种方法:一种继承HibernateDaoSupport,一种配置HibernateTemplate属性)之后的类中,不能再使用自带的HibernateSessionFactory工具类的getSession方法(返回为空),因为在配置文件中只为该Dao类配置了一个sessionFactory。
并且当我为该Dao类又创建了一个sessionFactory属性由Spring注入,想要在一个Dao类中拥有两个sessionFactory(其中一个是HibernateTemplate的属性),然后使用自带工具类的getsession()时,依旧空指针失败,原因目前不明。
20170726注:sessionFactory被设计成为了单例模式,一个应用内只允许存在一个该实例。

解决办法:

不使用自带Hibernate工具类,在需要使用getsession的方法中如下使用:

Resource resource=new ClassPathResource("applicationContext.xml");
            BeanFactory factory=new XmlBeanFactory(resource);
            SessionFactory sessionFactory=(SessionFactory)factory.getBean("sessionFactory");
            session = sessionFactory.openSession();

你可能感兴趣的:(javaweb)