java.sql.SQLException: Unknown type '246 in column 4 of 11 in binary-encoded result set.

当Mysql 5.0表数据类型设计为DECIMAL时,在spring,hibernate项目运行会出现246错误: 
Unknown type '246 in column 4 of 11 in binary-encoded result set.; nested exception is java.sql.SQLException: Unknown type '246 in column 4 of 11 in binary-encoded result set. 

刚开始还以为是程序有问题,后来才知道MYSQL5在decimal 类型有BUG,解决方法是更改数据类型。

java.sql.SQLException: Unknown type '246 in column 0 of 1 in binary-encoded result set这个异常容易出现在对Bigint字段的操作上。使用的mysql-connector-java-3.1.7-bin.jar,是属于mysql的一个bug。

解决办法:使用mysql-connector-java-3.0.17-bin.jar就没有问题了,而且目前好象只有这个版本无此bug。

另外:在mysql-connector-java-3.1.7-bin.jar下

session.createSQLQuery("select sum(bigintField) from tableName").uniqueResult() 返回BigInteger

类型的对象。

在mysql-connector-java-3.0.17-bin.jar下

session.createSQLQuery("select sum(bigintField) from tableName").uniqueResult() 返回String

类型的对象。

posted @ 2014-04-15 17:24  浅浅重叠  阅读(931)  评论(0编辑  收藏  举报