org.hibernate.exception.GenericJDBCException异常

日期:2015-03-06 01:54:07

留言:1

分类:经验心得

标签: Java

通过Hibernate读取MSSQL 2000数据时,采用一对多one-to-many获取子表数据集时抛出以下异常:

Exception in thread "main" org.hibernate.exception.GenericJDBCException: could not initialize a collection:[xxxxx]

at ……

……

Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column 1.

at ……

……

经过查找资料,是因为微软的Microsoft SQLServer驱动存在问题,采用微软提供的驱动时,如果查询语句存在text或image类型字段,需按顺序读取数据,但Hibernate在取子表数据时不是按查询顺序读取的,所以会抛出上述异常。

经验证,采用jTDS驱动代替微软提供的mssql驱动即可解决问题。

可在 http://sourceforge.net/projects/jtds/files/jtds/ 下载驱动。

 

PS:本文为作者原创,请尊重作者劳动成果,转载时请注明引用出处。

给我留言
留言表
跑马 :
不错。 2015-03-24 17:36:04