环境:MyEclipse6.5+Tomcat6.0.18+SQLServer+Strust2+Spring2.5.6+Hibernate3.2
问题:项目最开始数据库是Oracle,换成SQLServer后项目能跑起来,但是查询老是出错,它的各种版本的驱动都试过,均无果。
解决:查看配置文件
<!-- 配置hibernate属性 --> <property name="hibernateProperties"> <props> <!-- 根据数据库配置相应的hibernate方言,各种数据库的方言不同 --> <prop key="hibernate.dialect"> org.hibernate.dialect.OracleDialect </prop> </props> </property>发现配置文件中的Hibernate方言仍是Oracle的,把“org.hibernate.dialect.OracleDialect”改成“org.hibernate.dialect.SQLServerDialect”,再重新发布项目,再次运行,解决。
总结:项目换数据库的时候,一定要把方言改成对应的数据库,因为Hibernate是根据这个配置的方言加载对应的数据库的查询方式等。