在hibernate框架下如何保存完整的日期时间到oracle

如果我们的oracle数据库里面的字段是date类型,用逆向工程生成出来的实体类通常都有一个注解

@Temporal(TemporalType.DATE)

相应的java类型也是java.util.Date类型,我们用通常的方法直接new Date()赋值,会发现写到数据库以后只有日期,时间被清零了。

这个据说是因为“规范化”的java.sql.Date只包含年月日信息,时分秒毫秒都会清零。如果我们把一个java.sql.Date值通过PrepareStatement的setDate方法存入数据库时,java程序会对传入的java.sql.Date规范化,非规范化的部分将会被劫取。

要解决这个问题,有两种方法
1. 去掉@Temporal(TemporalType.DATE)这个注解

2. 修改字段类型为java.sql.Timestamp

    注解也改成timestamp类型

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值