栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Oracle 12的@Temporal(TemporalType.DATE)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Oracle 12的@Temporal(TemporalType.DATE)

我们已与Oracle支持部门取得联系,他们的答复如下(很遗憾,由于需要Oracle支持帐户,因此我无法提供答案的链接):

新行为按预期工作

在JDBC 12.1.0.1中,getDate和setDate不会截断日期的时间部分。此行为与时间部分被截断的JDBC
11.2.0.X不同。根据错误14389749、17228297的更改,这是有意的,并且12c驱动程序的行为正确。

解决方法为我提供了工作:

解决方法#1: 修改应用程序以不插入时间分量(例如,使用静态UtilMethod)

public static Date truncateTime(Date date) { Calendar calendar =Calendar.getInstance(); calendar.setTime(date);calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0);calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0);return calendar.getTime(); }

解决方法2: 从MOS下载并应用补丁19297927:(My Oracle Support)

  1. 单击补丁和更新选项卡。
  2. 输入上面的补丁号,然后单击“搜索”。
  3. 从列表中单击与您的平台相对应的补丁号
  4. 点击下载按钮下载补丁。
  5. 在下载之前,请阅读所有适用的说明,然后单击“下载”按钮。

After patching replace ojdb7.jar in

%Oracle_Home%oracle_commonmodulesoracle.jdbc_12.1.0
and add
-Doracle.jdbc.DateZeroTime=true
to your JVM Arguments



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436042.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号