您的位置:首页 > 数据库 > Oracle

hibenate 操作oracle 日期问题

2015-10-17 16:43 567 查看
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()转了,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: