请您先登录,才能继续操作

论坛首页 Java企业应用论坛

oracle 9,10 DATE 类型 hibernate 映射问题

浏览 4143 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (8) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-03-19   最后修改:2010-03-19

最近做项目数据库是oracle 9(测试环境),10(正式环境),有DATE字段,使用hibernate,映射为timestamp,java.util.Date,date,java.sql.Timestamp都试过,要么保存到数据库时时分秒没了,要么就是启动时说类型不匹配,如:FOUND date,expect timestamp 等等,也听说到9,10的jdbc驱动有问题,会将数据库Date当作java.sql.Date来处理,或者说修改hibernate配置,试过后除了修改数据库字段类型为timestamp解决问题外,其余均失败。

后来找到一个版本的驱动,问题居然解决了,且:

数据库:DATE

映射:java.util.Date

实体:java.util.Date

时分秒又回来了。

 

特上传该驱动。(Oracle JDBC Driver version - 9.0.2.0.0)

   发表时间:2010-03-21  
开发的时候碰到过这样的问题,数据库设计为Timestamp类型兼容性好,映射用java.util.Date
0 请登录后投票
   发表时间:2010-04-23   最后修改:2010-04-23
楼主建议选择ORACLE 驱动还是得注意一下:9i版本的jdbc驱动是有很多问题和缺陷的,不要为了一个日期类型而选择老驱动,能用最新还是最新的好,最好是打过补丁版本的JDBC驱动。
我看你用了 9.0的jdbc驱动,这个是不推荐的。
0 请登录后投票
   发表时间:2010-05-10  
还是用Calendar类型映射比较好,Date基本上快被java淘汰了。
0 请登录后投票
   发表时间:2010-05-17  
你还在用Date?java很早就不想大家用了
0 请登录后投票
   发表时间:2010-05-17  
long21kk 写道
你还在用Date?java很早就不想大家用了


老系统的维护性改造,很是折腾的。
0 请登录后投票
   发表时间:2010-07-08  
呵呵,数据库升级到10g,但10g映射为timestamp也有问题,用11g的驱动就没这问题了。时间也是想要的了
0 请登录后投票
论坛首页 Java企业应用版

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