weixin_46114677 2022-04-12 14:53 采纳率: 100%
浏览 27
已结题

oracle时间类型为timestamp,java代码用new Date()获取时间,持久层用的hibernate,结果数据库的时间都为1970年1月1日??

项目数据库用的oracle,时间类型为timestamp,java代码里的实体对象用的是Date,一般是new Date()获取当前时间,持久层用的hibernate,本地开发插入数据库的时间是正常的当前时间类型
但是部署测试后,时间都变成了1970年1月1日;本地和测试环境的区别是jdk本地1.8,测试1.7,本地是windows,测试环境是webSphere,想从这两方面入手都没查到相关资料,实在搞不懂哪里的问题

  • 写回答

2条回答 默认 最新

  • 搬山境KL攻城狮 2022-04-12 21:05
    关注

    感觉你这个是时间没有写入到数据库,hibernate我不太熟悉,你可以尝试打印下SQL语句和参数看看,Oracle的timestamp兼容性问题还是比较常见的,你也可以尝试下,在jdbc.url后面增加以下属性配置 oracle.jdbc.J2EE13Compliant=true

    这是我之前遇到过的Oracle的timestamp兼容性问题的解决办法,你看下
    https://blog.csdn.net/ory001/article/details/120968680

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月5日
  • 已采纳回答 3月28日
  • 创建了问题 4月12日

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了