Posted on 2006-08-20 11:45
兵临城下 阅读(447)
评论(0) 编辑 收藏 所属分类:
Spring
最近搭了一个开发环境如下: myeclipse5.0(eclipse3.2) + spring + hibernate3.0 + mysql5.0
本想应该很顺利,因为我在办公室的机子上配置了类似的环境,只是用的是DB2 的数据库。可是在调试时尝试用hibernate连接数据库时,报了这样一个exception: java.sql.BatchUpdateException,没见过类似的,折腾了我两天啊,不知道是为什么,过程很曲折啊!
一开始,我认为数据库连接不会有什么问题。所以我直接建了个web程序,在struts action中注入hibernate session,并用spring管理action,报错是肯定的,只是记不大清报的是什么错了。后来我就逐层剥离,将web层去掉,直接写客户端调用hibernate,还是报错。紧接着我又把spring去掉,不用spring来管理我的bean,单纯的使用hibernate,报了一个上面的exception: java.sql.BatchUpdateException。此时我就不知道该怎么办了,和办公室的环境做对比(从hibernate 配置文件到程序),都没有发现什么问题!折腾了两天,真够郁闷的。
最后只能上网搜索,看到网友一片文章,他出了一个类似的问题,说是mysql5.0和hibernate3.0在字符编码上有问题,用4.1的mysql就没有问题。我就下了一个4.1的mysql试了一下果然就OK了。
看来hibernate3.0不支持mysql5.0(或是网友说的字符编码问题,我不懂)。
附带一个心得:再用eclipse从数据库生成映射文件时,会自动加上一个catolog= “你的数据源名”,要把它去掉,不然会报错!
一点拙见,大家共享!