PostgreSQL抛错“不良的类型值: long”之解决

一、前言

项目中有一个独立程序,负责从主库同步部分数据到分库。由于混合使用了JPA和JDBC两种操作方式,该程序移植到后PostgreSQL错误不断且不好诊断,其中耗时耗力最多的就是:“org.postgresql.util.PSQLException: 不良的类型值 long ”。

二、原因分析

以下是PostgreSQL抛出例外处的日志片段:

Caused by: org.postgresql.util.PSQLException: 不良的类型值 long : \x0040010346504d4e00000001000003900101000000000000000002800000028001f4007d000202040000000200000000000000000000000000000000000000005041
        at org.postgresql.jdbc.PgResultSet.toLong(PgResultSet.java:2860)
        at org.postgresql.jdbc.PgResultSet.getLong(PgResultSet.java:2114)
        at org.postgresql.jdbc.PgResultSet.getBlob(PgResultSet.java:418)
        at org.postgresql.jdbc.PgResultSet.getBlob(PgResultSet.java:405)
        at org.apache.commons.dbcp.DelegatingResultSet.getBlob(DelegatingResultSet.java:565)
        at org.apache.commons.dbcp.DelegatingResultSet.getBlob(DelegatingResultSet.java:565)
        at org.hibernate.type.descriptor.sql.BlobTypeDescriptor$1.doExtract(BlobTyp

你可能感兴趣的:(数据库,java,json)