前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >hibernate Java 时间和日期类型的 Hibernate 映射

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

作者头像
全栈程序员站长
发布2022-07-12 15:08:22
发布2022-07-12 15:08:22
1K0
举报

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

基础知识:

在 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和TIMESTAMP

2.基于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.

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/118911.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年11月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基础知识:
  • 怎样进行映射?
  • 下面情况下必须显式指定 Hibernate 映射类型
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档