zoukankan      html  css  js  c++  java
  • hibernate 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 类型表示时间戳, 同一时候包括日期和时间信息.




    怎样进行映射?

    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.

  • 相关阅读:
    编译原理知识点整理
    LeetCode 3.无重复字符的最长字串
    LeetCode 2.两数相加
    LeetCode 1.两数之和
    《硅谷之火》中的个人计算机梦
    Linux常用命令行指令(持续更新~)
    idea常用快捷键(随时更新~)
    解决idea中使用maven创建spring mvc项目时创建过慢问题
    spring实战第二章小记-装配bean
    HTML5 Video播放服务端大文件
  • 原文地址:https://www.cnblogs.com/yxwkf/p/3858815.html
Copyright © 2011-2022 走看看