hibenate 操作oracle 日期问题-阿里云开发者社区

开发者社区> 数据库> 正文

hibenate 操作oracle 日期问题

简介: hibernate 使用日期, oracle 可以设置为 Date  ,Date 可以精确到秒,在java向数据库添加精确到秒的日期时,可以直接   set(new Date()),这样在数据库中显示的是 2015/10/17 16:15:13,直接用session.get()取出来,得到 的日期是 2015-10-17 16:15:13.0 当oracle 数据库设置成 time
hibernate 使用日期,
oracle 可以设置为 Date  ,Date 可以精确到秒,在java向数据库添加精确到秒的日期时,可以直接  
set(new Date()),这样在数据库中显示的是 2015/10/17 16:15:13,直接用session.get()取出来,得到


的日期是 2015-10-17 16:15:13.0


当oracle 数据库设置成 timestamp(6) 时 ,直接set(new Date())数据库显示的是:  17-10月-15 


04.32.11.566000 下午   。java直接session.get()取出来时: 2015-10-17 16:32:11.566  ,在数据


库中可以设置timestamp(6) 的精度timestamp(0)。当然取出来的数据可以格式化。


java实体类中日期类型要和hbm.xml配置文件中的日期类型一样,这里都为java.util.Date
<property name="stuBirth"  type="date" column="stu_birth" />中的date默认为java.sql.Date 。
java.util.Date 对应oracle中的timestamp(6),
java.sql.Date 对应oracle中的date。


当类型不一样(如java实体类用java.util.Date,hbm.xml用java.sql.Date )时会出现插入new Date()
,只会插入日期2015-10-17。查询只会查到日期2015-10-17。所以此处一定要注意,一定要保证java实


体类和hbm.xml的日期类型一致(),hbm中的类型可以不写,会根据java类自动转换类型;


如果想改变 数据库中的日期格式,就必须用在插入的时候用sql to_date()转了,

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章