hibernate Java 时间和日期类型的 Hibernate 映射
2014-05-31 16:48
453 查看
基础知识:
在 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 类型表示时间戳, 同时包含日期和时间信息.
如何进行映射?
1.因为java.util.Date是 java.sql.Date, java.sql.Time 和 java.sql.Timestamp的父类,所以java.util.Date可以对应标准sql类型中的DATE,TIME和TIMESTAMP2.基于1,所以在设置持久化类的Date类型时设置为java.util.Date,因为这个类型可以与hibernate中三种日期类型都对应
3.如何把java.util.Date映射为DATE,TIME,和TIMESTAMP?
可以通过property的type类型进行映射,例如:
<property name="date" type="time">
<column name="DATE" />
</property>
<property name="date" type="data">
<column name="DATE" />
</property>
<property name="date" type="timestamp">
<column name="DATE" />
</property>
使用 Hibernate 内置映射类型
以下情况下必须显式指定 Hibernate 映射类型
一个 Java 类型可能对应多个 Hibernate 映射类型. 例如: 如果持久化类的属性为 java.util.Date 类型, 对应的 Hibernate 映射类型可以是 date, time 或 timestamp. 此时必须根据对应的数据表的字段的 SQL 类型, 来确定 Hibernate 映射类型. 如果字段为 DATE 类型, 那么 Hibernate 映射类型为 date; 如果字段为 TIME 类型, 那么 Hibernate映射类型为 time; 如果字段为 TIMESTATMP 类型, 那么 Hibernate 映射类型为 timestamp.
相关文章推荐
- Java 时间和日期类型的 Hibernate 映射及二进制映射及大文本的映射
- 6.3 Java时间和日期类型的Hibernate映射
- [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系
- Hibernate-2映射 Java 的时间, 日期类型
- hibernate Java 时间和日期类型的 Hibernate 映射
- 1007--Java 时间和日期类型的 Hibernate 映射
- Java 时间和日期类型的 Hibernate 映射
- Java时间和日期类型的Hibernate映射
- Java时间和日期类型的Hibernate映射
- Hibernate映射类型、对应的Java时间和日期类型及对应的标准SQL类型
- Java时间和日期类型的Hibernate映射类型
- java时间与日期类型的Hibernate映射
- Java时间和日期类型的Hibernate映射类型
- hibernate Java 时间和日期类型 Hibernate 制图
- java和mysql之间的时间日期类型传递【原】
- Hibernate中日期(Date)类型 与oracle中日期的映射处理
- java和mysql之间的时间日期类型传递
- Hibernate配置文件映射java数据基本类型
- hibernate中的java.lang.String与定长字符类型char(x)映射
- Java 日期时间 Date类型,long类型,String类型表现形式的转换