1007--Java 时间和日期类型的 Hibernate 映射

Java , 代表时间和日期的类型包括 : java.util.Date java.util.Calendar .
    此外 , JDBC API 中还提供了 3 个扩展了 java.util.Date 类的子类 : java.sql.Date , java.sql.Time java.sql.Timestamp ,
   这三个类分别和标准 SQL 类型中的 DATE,TIME TIMESTAMP 类型对应
在标准 SQL , DATE 类型表示日期 , TIME 类型表示时间 ,TIMESTAMP 类型表示时间戳 , 同时包含日期和时间信息 .
 
 
以下情况下必须显式指定 Hibernate 映射类型
一个 Java 类型可能对应多个 Hibernate 映射类型 .
  例如 : 如果持久化类的属性为 java.util.Date 类型 , 对应的 Hibernate 映射类型可以是 date, time timestamp.
此时必须根据对应的数据表的字段的 SQL 类型 , 来确定 Hibernate 映射类型 .
  如果字段为 DATE 类型 , 那么 Hibernate 映射类型为 date;
  如果字段为 TIME 类型 , 那么 Hibernate 映射类型为 time;
如果字段为 TIMESTATMP 类型 , 那么 Hibernate 映射类型为 timestamp.
 

2). 如何进行映射 ?

I. 因为 java.util.Date 是 java.sql.Date, java.sql.Time 和 java.sql.Timestamp 的父类, 所以 java.util.Date
可以对应标准 SQL 类型中的 DATE, TIME 和 TIMESTAMP

II. 基于 I, 所以在设置持久化类的 Date 类型是, 设置为 java.util.Date.

III. 如何把 java.util.Date 映射为 DATE, TIME 和 TIMESTAMP ?

可以通过 property 的 type 属性来进行映射:

例如:

<property name="date" type="timestamp">
    <column name="DATE" />
</property>

<property name="date" type="data">
    <column name="DATE" />
</property>

<property name="date" type="time">
    <column name="DATE" />
</property>

其中 timestamp, date, time 既不是 Java 类型, 也不是标准 SQL 类型, 而是 hibernate 映射类型

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值