前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >无法转换为内部表示

无法转换为内部表示

作者头像
程序新视界
发布2022-11-30 16:04:40
6720
发布2022-11-30 16:04:40
举报
文章被收录于专栏:丑胖侠

系统查询表记录时出现“java.sql.SQLException: 无法转换为内部表示”异常,抛出的异常信息如下:

代码语言:javascript
复制
Stacktrace follows:
java.sql.SQLException: 无法转换为内部表示
    at oracle.jdbc.driver.CharCommonAccessor.getLong(CharCommonAccessor.java:297)
    at oracle.jdbc.driver.T4CVarcharAccessor.getLong(T4CVarcharAccessor.java:852)
    at oracle.jdbc.driver.OracleResultSetImpl.getLong(OracleResultSetImpl.java:971)
    at oracle.jdbc.driver.OracleResultSet.getLong(OracleResultSet.java:440)
    at org.apache.commons.dbcp.DelegatingResultSet.getLong(DelegatingResultSet.java:278)
    at org.apache.commons.dbcp.DelegatingResultSet.getLong(DelegatingResultSet.java:278)
    at ismp.RealNameLibController$_closure2.doCall(RealNameLibController.groovy:34)
    at ismp.RealNameLibController$_closure2.doCall(RealNameLibController.groovy)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

看异常信息中的oracle.jdbc.driver.CharCommonAccessor.getLong,此条堆栈信息是的描述的是数据库查出的数据转换为Long类型时失败。经检查数据库表结果中的字段类型及实体类中定义的数据类型。发现在实体类中的ID定义为Long类型,而数据库中对应的字段为varchar2类型。因此导致数据库在进行映射时发生异常。类似常见的问题如:数据库里为Number,而Java定义的对应属性类型为String。

问题处理步骤总结: 1、通过异常信息查找对应的错误字段(比如此例中的getLong); 2、逐一对照实体类和数据库中为Long类型的数据; 3、确认转换关系是否对应,调整数据库字段类型或实体类字段类型;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档