gpt4 book ai didi

java - Oracle JDBC 类型通过 getObject() 映射到 Java 对象类型 - 错误的文档?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:29:45 25 4
gpt4 key购买 nike

这是文档链接:"Mapping SQL and Java Types"

让我们看看 8.9.3 JDBC 类型映射到 Java 对象类型在行:TIMESTAMP - java.sql.Timestamp

但是当我在 TIMESTAMP 列上使用 getObject() 和 oracle 数据库时,返回类型是 oracle.sql.TIMESTAMP,它不能转换为 java.sql.Timestamp

我知道我可以使用 getTimestamp(),但我需要 getObject() 来处理任何类型的结果集。

是文档错了还是我错了?

最佳答案

文档是正确的,Oracle JDBC 驱动程序有问题。

有两种可能的解决方案:

第一个,使用getObject:

oracle.sql.TIMESTAMP ts = (oracle.sql.TIMESTAMP) res.getObject("last_update");
agent.setLastUpdate(new Date(ts.dateValue().getTime()));

第二个是向您的应用程序添加一个 VM 参数:

-Doracle.jdbc.J2EE13Compliant=true

这将使驱动程序返回 java.sql.Timestamp 而不是 oracle.sql.TIMESTAMP

关于java - Oracle JDBC 类型通过 getObject() 映射到 Java 对象类型 - 错误的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14596513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com