论坛首页 Java企业应用论坛

Oracle10g JDBC ojdbc14 DATE类型hibernate查询时分秒问题

浏览 6108 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-07-23  
一般的数据库中,DATE字段仅仅表示日期,不包括日期信息,而Oracle数据库中的DATE数据类型是包括日期、时间的,对于不同的Oracle jdbc驱动版本,对于该问题的处理都有些区别。

    最近我从sql server2000 换到 ORACLE 10G,时间字段因需求,设为了DATE类型,发现hibernate用native SQL 查询,显示不了时分秒,一看,原来是JDBC驱动自动把date映射为 java.sql.date,故截断了时分秒信息,如果你使用9i或者11g
的驱动程序,此问题不存在,但是Oracle10g的JDBC驱动,问题就来了,你会发现时间不见了!!!
此时改用传统的数据获取方式
   发表时间:2012-07-23   最后修改:2012-07-23
直接使用java.sql.Timestamp
包名字可能有错,但是这样就会显示分秒时间啦
0 请登录后投票
   发表时间:2012-07-24  
vvvpig 写道
直接使用java.sql.Timestamp
包名字可能有错,但是这样就会显示分秒时间啦

关键是数据库结构是设计好的,代码也已经成型,这个时候改数据库会面临很多的问题。
0 请登录后投票
   发表时间:2012-07-25  
升级驱动不就好了。
0 请登录后投票
   发表时间:2012-07-25  
魔力猫咪 写道
升级驱动不就好了。

客户的系统你是不可以动的,要是自己的我干嘛费这劲
0 请登录后投票
   发表时间:2012-07-25  
傲世凡尘 写道
魔力猫咪 写道
升级驱动不就好了。

客户的系统你是不可以动的,要是自己的我干嘛费这劲

发现驱动有BUG,就是你自己无法升级,也应该去反应呀。
而且你不是在写代码吗,到底还是动了呀。
0 请登录后投票
   发表时间:2012-07-25  
魔力猫咪 写道
傲世凡尘 写道
魔力猫咪 写道
升级驱动不就好了。

客户的系统你是不可以动的,要是自己的我干嘛费这劲

发现驱动有BUG,就是你自己无法升级,也应该去反应呀。
而且你不是在写代码吗,到底还是动了呀。


硬件已经在那里摆着了,我们不可能去改的,不过可以发个系统补丁包更新处理下这个问题。。。这其实也不是个很重要的BUG,只是显示上会有点问题而已
0 请登录后投票
   发表时间:2012-07-25  
感觉是很基础的hibernate配置问题,
<property name="date" column="date_col" type="timestamp" />
指定属性映射为timestamp就行了
0 请登录后投票
   发表时间:2012-07-25  
傲世凡尘 写道
魔力猫咪 写道
傲世凡尘 写道
魔力猫咪 写道
升级驱动不就好了。

客户的系统你是不可以动的,要是自己的我干嘛费这劲

发现驱动有BUG,就是你自己无法升级,也应该去反应呀。
而且你不是在写代码吗,到底还是动了呀。


硬件已经在那里摆着了,我们不可能去改的,不过可以发个系统补丁包更新处理下这个问题。。。这其实也不是个很重要的BUG,只是显示上会有点问题而已

哪里有硬件问题呀。
0 请登录后投票
   发表时间:2012-07-25  
Saro 写道
感觉是很基础的hibernate配置问题,
<property name="date" column="date_col" type="timestamp" />
指定属性映射为timestamp就行了


就是这么做的,看来楼主直接忽略这个方法了。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics