Java时间和日期类型的Hibernate映射类型
转自:http://blog.sina.com.cn/s/blog_570f6d940100safx.html
在Java中,代表时间和日期的类型包括:java.uitl.Date和java.util.Calendar。此外,在JDBC API中还提供了3个扩展了java.uitl.Date类的子类:java.sql.Date、java.sql.Time和java.sql.Timestamp,这3个类分别和标准SQL类型中的DATE、TIME和TIMESTAMP类型对应。
表11-2列出了Hibernate映射类型、对应的Java时间和日期类型,以及对应的标准SQL类型。
表11-2 Hibernate映射类型、对应的Java时间和日期类型及对应的标准SQL类型
映 射 类 型
Java类型
标准SQL类型
描 述
date
java.util.Date或者java.sql.Date
DATE
代表日期,形式为:
YYYY-MM-DD
time
java.util.Date或者java.sql.Time
TIME
代表时间,形式为:
HH:MM:SS
timestamp
java.util.Date或者java.sql.
Timestamp
TIMESTAMP
代表时间和日期, 形式为:
YYYYMMDDHHMMSS
calendar
java.util.Calendar
TIMESTAMP
同上
calendar_date
java.util.Calendar
DATE
代表日期,形式为:
YYYY-MM-DD
在标准SQL中,DATE类型表示日期,TIME类型表示时间,TIMESTAMP类型表示时间戳,同时包含日期和时间信息。例如,以下SQL语句创建了一个MYTABLE表,它的DATE_FIELD字段为DATE类型,TIME_FIELD字段为TIME类型,TIMESTAMP_FIELD字段为TIMESTAMP类型:
- create table MYTABLE(DATE_FIELD date,
TIME_FIELD time,TIMESTAMP_FIELD timestamp);
以下insert语句向MYTABLE表插入记录。第一条insert语句显式地给3个字段赋值,第二条insert语句没有为TIMESTAMP类型的TIMESTAMP_FIELD字段显式赋值,数据库系统会自动把当前的系统时间赋值给TIMESTAMP_FIELD字段:
- insert into MYTABLE values('2009-05-09','
11:46:54','20090509114654'); - insert into MYTABLE(DATE_FIELD,TIME_FIELD)
values('2009-5-10','11:11:11');
相关推荐
其次,对于复杂的数据类型,如日期和时间,Java的Date和Calendar类在Hibernate中可以映射为java.sql.Date、java.sql.Time或java.sql.Timestamp。对于数组和集合,如List、Set、Map等,Hibernate提供了ListType、...
日期和时间类型在Hibernate中也有专门的映射。`date`对应`java.util.Date`或`java.sql.Date`,映射为`DATE`;`time`对应`java.util.Date`或`java.sql.Time`,映射为`TIME`;而`timestamp`对应`java.util.Date`或`...
MySQL是世界上最流行的关系数据库管理系统之一,它的数据类型包括数字类型(如INT、DECIMAL)、字符串类型(如VARCHAR、TEXT)、日期和时间类型(如DATE、DATETIME)以及二进制类型(如BLOB)等。 例如,Hibernate...
#### 日期时间类型映射 1. **Date**: 映射到`java.util.Date`或`java.sql.Date`,在SQL中对应`DATE`类型,格式为`YYYY-MM-DD`。 2. **Time**: 映射到`java.util.Date`或`java.sql.Time`,在SQL中对应`TIME`类型,...
以下是一些常见的Hibernate映射类型及其对应的Java和SQL类型: 1. `Integer` 或 `java.lang.Integer`: 映射到标准SQL类型的 `Integer` (Oracle的 `number`)。 2. `Long` 或 `java.lang.Long`: 映射到 `BigInt` ...
首先,我们需要了解一个基本的Hibernate映射文件结构: ```xml <hibernate-mapping> <!-- 映射类的属性 --> </hibernate-mapping> ``` 这里的`<class>`标签表示映射到特定的Java类,其属性`name`指定了对应的...
5. **日期时间类型**: - `java.util.Date` 和 `java.sql.Date` 对应于 SQL 的 `DATE` - `java.util.Date` 和 `java.sql.Time` 对应于 SQL 的 `TIME` - `java.util.Date`、`java.sql.Timestamp` 和 `java.util....
本文将深入探讨Hibernate中的四种主要集合映射类型:Set、List、Array和Map,以及它们在实际开发中的应用场景和配置。 一、Set集合映射 Set集合映射是最常见的映射类型,它不允许重复元素。在Hibernate中,Set通常...
下面我们将详细探讨Hibernate中的类型映射以及其与Java类型和标准SQL类型的对应关系。 1. `integer`:在Hibernate中,`integer`映射Java的`int`或`Integer`类型,对应的SQL类型是`INTEGER`。这通常用于存储整数值。...
这是一个文档文件,很可能是作者详细记录的关于Hibernate映射的学习笔记或教程,包含了作者在学习和应用Hibernate映射过程中的思考、问题解决步骤以及实用示例。 **综合知识点:** 1. **Hibernate ORM基础**:介绍...
**日期时间类型**:`java.util.Date` 和 `java.sql.Date` 对应于 `DATE`,`java.util.Date` 和 `java.sql.Time` 映射为 `TIME`,而 `java.util.Date`、`java.sql.Timestamp` 和 `java.util.Calendar` 则映射到 `...
* @Temporal:指定日期时间的类型,包括 TIMESTAMP、DATE 和 TIME。 * @Basic:简化属性,可以不用注解,默认就是 @Basic。 * @Transient:指定属性不需要持久化。 二、 映射关联关系 Hibernate 注解映射支持多种...
- **组件映射**:针对复杂类型进行映射,如日期时间类型等。 - **事务配置**:配置事务管理的相关参数。 - **缓存配置**:配置缓存策略,包括一级缓存和二级缓存。 **2.2 基本开发** - **持久类**:表示数据库表的...
例如,如果你有一个自定义日期时间类型,可以这样使用: ```java @Entity public class Event { @Id private Long id; @Type(type = "com.example.MyDateTimeType") private LocalDateTime dateTime; } ``` 在...
Hibernate的配置文件(如`hibernate.cfg.xml`)中,关于日期时间类型的映射设置也可能导致问题。例如,默认情况下,Hibernate可能会将Date类型映射为`java.sql.Date`,而这个类只包含日期部分,不包含时间。如果...
本篇文章将深入探讨Hibernate映射的概念、原理及其实现方法,帮助开发者更好地理解和运用Hibernate。 **一、Hibernate映射基础** Hibernate映射是将Java类与数据库表之间的关系进行描述的过程。它通过XML文件...
例如,使用Lombok库可以简化getter和setter的编写,而使用Hibernate Tools可以自动生成实体类和映射文件,这在处理大量自定义类型时非常有用。 总的来说,自定义数据类型是Hibernate的一个强大特性,它使我们能够...
11.1.2 Java时间和日期类型的Hibernate映射类型 11.1.3 Java大对象类型的Hibernate映射类型 11.1.4 JDK自带的个别Java类的Hibernate映射类型 11.1.5 使用Hibernate内置映射类型 11.2 客户化映射类型 ...
本训练主要关注在使用Hibernate时如何处理与各种数据库字段类型的映射,这对于理解和优化数据库交互至关重要。 首先,我们要理解Hibernate的核心概念——对象关系映射(ORM)。ORM允许我们将数据库表结构映射到Java...
总结来说,通过MyEclipse生成的Hibernate映射文件和POJO类,我们可以轻松地在Java应用中处理"订单信息"数据,而无需手动编写大量数据库操作代码。这种面向对象的方式使得代码更易于理解和维护,同时保持了与数据库的...