在spring中同时管理hibernate和jdbc的问题主要是事务管理的问题。
使用spring提供的templeta在spring中同时配置hibernate 和jdbc。
hibernate的配置应该谁都会。在此基础上加上以下代码。
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="baseJdbcDao" class="com.cnnct.commons.op.BaseJdbcDaoImp">
<property name="jdbcTemplate">
<ref local="jdbcTemplate" />
</property>
</bean>
<bean id="baseJdbcDaoProxy" parent="TransactionProxyFactoryBean">
<property name="target">
<ref local="baseJdbcDao" />
</property>
</bean>
这样保证了hibernate和jdbc使用同一个数据源,事务统一用hibernate的事物管理。
然后在其他的方法里面注入
<property name="baseJdbcDao">
<ref local="baseJdbcDao"/>
</property>
就可以了。
这样配置以后,可以在一个service里同时使用hibernate的方法和jdbc的方法。
BaseJdbcDaoImp为自己封装的继承JdbcDaoSupport 的jdbc处理类,扩展jdbc的方法。