【问题标题】:Oracle TIMESTAMP and Mybatis issueOracle TIMESTAMP 和 Mybatis 问题
【发布时间】:2014-01-27 18:35:14
【问题描述】:

我在我的 Web 应用程序中使用 mybatis。

我正在执行以下选择查询:

<select id="retrieveSearchResultReferrals" resultType="hashmap" parameterType="map">
    select *
    from 
        table(xxxx.test_abc_pk.retrieveDA(#{searchString}))
</select>

结果中的一些列是 DATE 数据类型,一列是 TIMESTAMP 数据类型。

Mybatis 正在将 DATE 列正确转换为 java.sql.Date 但对于 TIMESTAMP 列它正在将其转换为 oracle.sql.TIMESTAMP 而不是 java.sql.Timestamp。

关于如何让 mybatis 将 TIMESTAMP 转换为 java.sql.Timestamp 的任何想法?

【问题讨论】:

  • jdbcType="TIMESTAMP" 怎么样,我很久以前在某个地方读过它。!当然,您必须为单个列设置属性。
  • @MaheswaranRavisankar jdbcType="TIMESTAMP" 如果我​​使用 resultMap 和我的自定义 Java 对象,则可以使用,但这里我使用 mybatis hashmap 作为 resultType。我不确定在这种情况下如何进行自定义映射。
  • 您找到解决方案了吗?

标签: sql oracle jdbc mybatis


【解决方案1】:

尝试为您的应用程序设置属性oracle.jdbc.J2EE13Compliant=true

java.lang.ClassCastException: oracle.sql.TIMESTAMP cannot be cast to java.sql.Timestamp

【讨论】:

    猜你喜欢
    • 2018-03-30
    • 2015-11-11
    • 2013-10-09
    • 2013-05-15
    • 2011-11-25
    • 2011-09-01
    • 2023-01-10
    • 1970-01-01
    • 2017-05-30
    相关资源
    最近更新 更多