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 数据库设置成 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()转了,

你可能感兴趣的:(hibenate 操作oracle 日期问题)