Cannot unwrap to requested type [javax.sql.DataSource] 的解决办法

来源:互联网 发布:阿里巴巴待遇知乎 编辑:程序博客网 时间:2024/04/30 08:38

在搭建SSH框架时遇到这个问题,我把DataSource的配置内容放到了hibernate.cfg.xml里,开始没有定义Hibernate的事务管理器HibernateTransactionManager时,没有什么问题,但是一定义HibernateTransactionManager,就报上面这个错误,搞了半天搞不好,无论怎么去改动去设置都还是报错,但是复制一个把DataSource定义在applicationContext.xml里的过来就没什么问题,后来网上搜,看别人说可能是下面的解释情况。


hibernate4以后,spring3.1不再有hibernateDaoSupport,在dao层不能继承HibernateDaoSupport,

只能显式声明SessionFactory,并且设置get/set方法。

不确定的说:

       在hibernate4以后,session管理变动较大,spring也变了,所以DataSource要在applicationContext.xml里面配置

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

<property name="dataSource" ref="dataSource"/>

...

</bean>

如果你在hibernate.cfg.xml里面配置了,就会报出Cannot unwrap to requested type [javax.sql.DataSource]错误。


原文地址:点击打开链接

0 0
原创粉丝点击