Hibernate的类型映射类型从总体上可以分为两种:内置类型映射和客户类型映射。内置类型映射负责把一些常见的java类型映射到sql类型:此外,Hibernate还允许用户实现UserType或CompositeUserType接口,来灵活的制定客户化映射类型。客户类型映射可以将用户定义的java类映射到数据库表的相应字段。
内置类型映射:
(1) Java基本类型的Hibernate映射:
表2.1列出了Hibernate中的映射类型和与其对应的Java类型以及对应的标准SQL类型和相应的说明。
表2.1
Hibernate映射类型
|
Java类型
|
标准SQL类型
|
说明
|
integer或者int
|
int或者java.lang.Integer
|
INTEGER
|
4字节
|
long
|
long或者java.lang.Long
|
BIGINT
|
8字节
|
short
|
short或者java.lang.Short
|
SMALLINT
|
2字节
|
byte
|
byte或者java.lang.Byte
|
TINYINT
|
1字节
|
float
|
float或者java.lang.Float
|
FLOAT
|
4字节,单精度浮点数
|
double
|
double或者java.lang.Double
|
DOUBLE
|
8字节,双精度浮点数
|
big_decimal
|
java.math.BigDecimal
|
NUMERIC
|
NUMERIC(8,2)表示共8位数字,其中两位是小数
|
character
|
char或者java.lang.Character,java.lang.String
|
CHAR(1)
|
定长字符
|
string
|
java.lang.String
|
VARCHAR
|
变长字符
|
boolean
|
boolean或者java.lang.Boolean
|
BIT
|
布尔类型
|
yes_no
|
boolean或者java.lang.Boolean
|
CHAR(1)(‘Y’ 或者’N’)
|
布尔类型
|
true_false
|
boolean或者java.lang.Boolean
|
CHAR(1)(‘T’ 或者’F’)
|
布尔类型
|
2、Java时间和日期类型的Hibernate的类型映射:
在Java中,代表时间和日期的类型包括:java.util.Date 和 java.util.Calendar。此外在JDBC API中还提供了三个扩展了java.util.Date类的子类:java.sql.Date 和 java.sql.Time 以及 java.sql.Timestamp,这三个类分别和标准sql类型中的DATE,TIME,TIMESTAMP相对应。
表2.2列出了Hibernate中的映射类型和与其对应的Java日期类型以及对应的标准SQL类型和相应的说明。
表2.2
映射类型
|
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.Calendar
|
TIMESTAMP
|
代表时间和日期,形式为YYYYMMDDHHMMSS
|
calendar
|
同上
|
同上
|
同上
|
calendar_date
|
java.util.Calendar
|
DATE
|
代表日期:形势为YYYY-MM-DD
|
字段类型映射配置事例:
<property name=”name” column=”Name” type=”string”/>
<property name=”birthday” column=”Brithday” type=”date”/>
<property name=”registereddate” column=”Registereddate” type=”timestamp”/>
下图为以上配置对应的数据库表:
Name varchar2(20)
Birthday DATE
Registereddate Timestamp
|
3、JDK自带的个别Java类的Hibernate映射类型:
表2.3列出了个别Java类的Hibernate映射类型,与此对应的标准SQL类型均为VARCHAR类型。
表2.3
映射类型
|
Java类型
|
标准SQL类型
|
class
|
java.lang.Class
|
VARCHAR
|
locale
|
java.util.Locale
|
VARCHAR
|
timezone
|
java.util.TimeZone
|
VARCHAR
|
currency
|
java.util.Currency
|
VARCHAR
|
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1667224
分享到:
相关推荐
Hibernate内置了二级缓存,可提高性能。一级缓存是Session级别的,每个Session有自己的缓存;二级缓存则是SessionFactory级别的,可以跨Session共享数据。 综上所述,"Hibernate实体映射"的学习资源涵盖了从基本...
Hibernate映射文件是XML格式的文件,它定义了数据库表与Java实体类之间的对应关系,包括字段映射、主键策略、关联关系等。映射文件让开发者无需编写SQL语句,就能通过Java对象进行数据库操作。 2. **MyEclipse ...
描述:本文深入解析了Hibernate映射文件配置的核心概念,重点阐述了映射文件的基本结构及其组成部分,包括主键(id)、普通属性(property)等关键元素的配置方法和策略。 ### Hibernate映射文件配置详解 在...
本篇文章将详细讲解Hibernate映射文件中关于主键生成的各种策略及其配置,帮助开发者更好地理解和使用。 首先,主键(Primary Key)是数据库表中用于唯一标识一条记录的字段,其值在表中必须是唯一的,并且通常不...
总结来说,XDoclet和Ant在Java开发中扮演着重要角色,前者简化了Hibernate映射文件的管理,后者则为项目构建和自动化提供了强大支持。通过合理的利用这两者,开发者可以提高工作效率,降低出错概率,使项目管理更加...
### Hibernate映射基础 1. **对象-关系映射(ORM)**: ORM是Hibernate的核心,它将Java类与数据库表对应,Java对象与表记录对应。通过ORM,我们可以将数据库操作转化为对Java对象的操作,降低了数据访问的复杂性。 ...
### Hibernate基础之关联映射与级联操作 #### 第一部分:主键生成策略与对象状态管理 ##### 主键生成策略 在使用Hibernate框架时,合理的主键生成策略能够极大地简化开发工作并提升应用性能。Hibernate提供了多种...
SessionFactory 对象是 Hibernate 的核心组件之一。 Hibernate 的优点 Hibernate 有很多优点,它可以帮助开发者快速地访问和操作数据库。下面是 Hibernate 的一些优点: * 简洁高效:Hibernate 提供了一种简洁...
Hibernate提供了一些内置的分页功能,可以通过Query或Criteria API实现。 **使用Query实现分页**: ```java Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); // ...
然而,当我们与数据库进行交互,特别是使用ORM(对象关系映射)框架如Hibernate时,这些数据类型需要与数据库中对应的数据类型相匹配,以确保数据的正确存储和检索。下面我们将详细探讨Java、Hibernate以及SQL之间的...
- **List、Set、Map**:理解这些集合类型在Hibernate中的映射,以及它们的区别。 - **懒加载与立即加载**:了解如何配置集合的加载策略,优化性能。 **6. 缓存机制** - **一级缓存与二级缓存**:了解Hibernate的...
5. **事务管理**:Hibernate内置了事务处理机制,能够方便地管理和控制事务的提交和回滚。 **Hibernate核心组件** 1. **Configuration**:配置Hibernate,包括加载配置文件、连接数据库等。 2. **SessionFactory**...
在Java的Hibernate框架中,自定义类型是一种非常实用的功能,它允许开发者根据特定业务需求扩展Hibernate内置的数据类型。当我们发现Hibernate默认的数据类型无法满足我们存储数据的特殊要求时,例如需要处理复杂...
11.1.2 Java时间和日期类型的Hibernate映射类型 11.1.3 Java大对象类型的Hibernate映射类型 11.1.4 JDK自带的个别Java类的Hibernate映射类型 11.1.5 使用Hibernate内置映射类型 11.2 客户化映射类型 ...
Hibernate 映射文件 id 的 generator 配置方法 Hibernate 映射文件 id 的 generator 配置方法是 Hibernate 框架中的一种重要配置,用于生成持久化类实例的唯一标识符。下面将对 Hibernate 映射文件 id 的 generator...
Hibernate 提供了丰富的内置类型映射,可以将 Java 数据类型映射为 SQL 数据类型。此外,还支持用户自定义类型映射,以满足复杂的数据类型需求。 #### 组件映射 在某些情况下,可能需要将 Java 对象的某个属性映射...
### Hibernate4实战之第七部分:最佳实践 #### 设计细颗粒度的持久类并使用`<component>`实现映射 在Hibernate中,细颗粒度的持久类是指将实体中的复杂属性拆分成单独的对象进行管理。例如,对于一个用户实体中的...
6. **第一级缓存和第二级缓存**:Hibernate内置了第一级缓存,每个Session都有自己的缓存;第二级缓存是可选的,可以跨Session共享,通常由缓存提供商如Ehcache提供。 7. **事务管理**:Hibernate支持JTA(Java ...