java项目配置多个数据源,sping版本要4+以上

原帖地址:http://blog.csdn.net/sinat_29774479/article/details/75642932

本人应用场景:原来项目数据库用的mysql,后台框架用的是spring3.x+hibernate3.x(版本比较老) ,现在该项目的配套产品数据库用的是sqlserver.本以为hibernate是万能,起码能兼容主流数据库吧。实践的时候,配好数据库链接,切换驱动包,项目启动到时没有问题,但是执行HQL查询的时候报错了,还有sqlserver 的表字段时间类型用的datetime ,代码实体用java.util.date ,并注解@Temporal ,死活还是报错。奔溃,泪

后面一想,不对啊,怎么能改数据库呢,万一在扩展一个异库套产品呢。于是疯狂的搜一个项目配置两个数据源的资料,最简单粗暴的就是关于数据源的,sessionfactory,transationManger的都多配置一份。经过一番配置之后,以为大功告成,项目一启动,各种报错,大概是说默认的sessionfactory是单例的,不同同时存在两个sessionfactory,又经过一番调节之后,发现可以配多个数据源,但是不能配多个sessionfactory.心想,妈的,人家怎么行呢?同样的是spring,又疯狂搜资料,还是没有答案。

最后将sping和hibernate提升至4+,偶然发现,项目启动没有报错,经测试增删查改也没有错!!!

 

注意使用hibernate这个用resource指定id注入

@Resource(name="hibernateTemplate")
protected HibernateTemplate hibernateTemplate;

@Resource(name="sqlServer_hibernateTemplate")
protected HibernateTemplate hibernateTemplate;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值