`
zyc1006
  • 浏览: 133844 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hibernate类型映射之内置类型映射

阅读更多

Hibernate的类型映射类型从总体上可以分为两种:内置类型映射和客户类型映射。内置类型映射负责把一些常见的java类型映射到sql类型:此外,Hibernate还允许用户实现UserTypeCompositeUserType接口,来灵活的制定客户化映射类型。客户类型映射可以将用户定义的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’)
布尔类型
     
  
2Java时间和日期类型的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实体映射

    Hibernate内置了二级缓存,可提高性能。一级缓存是Session级别的,每个Session有自己的缓存;二级缓存则是SessionFactory级别的,可以跨Session共享数据。 综上所述,"Hibernate实体映射"的学习资源涵盖了从基本...

    myeclipse自动生成hibernate映射文件

    Hibernate映射文件是XML格式的文件,它定义了数据库表与Java实体类之间的对应关系,包括字段映射、主键策略、关联关系等。映射文件让开发者无需编写SQL语句,就能通过Java对象进行数据库操作。 2. **MyEclipse ...

    hibernate的映射文件配置

    描述:本文深入解析了Hibernate映射文件配置的核心概念,重点阐述了映射文件的基本结构及其组成部分,包括主键(id)、普通属性(property)等关键元素的配置方法和策略。 ### Hibernate映射文件配置详解 在...

    Hibernate映射文件主键的生成

    本篇文章将详细讲解Hibernate映射文件中关于主键生成的各种策略及其配置,帮助开发者更好地理解和使用。 首先,主键(Primary Key)是数据库表中用于唯一标识一条记录的字段,其值在表中必须是唯一的,并且通常不...

    XDoclet 与Hibernate 映射

    总结来说,XDoclet和Ant在Java开发中扮演着重要角色,前者简化了Hibernate映射文件的管理,后者则为项目构建和自动化提供了强大支持。通过合理的利用这两者,开发者可以提高工作效率,降低出错概率,使项目管理更加...

    映射Hibernate

    ### Hibernate映射基础 1. **对象-关系映射(ORM)**: ORM是Hibernate的核心,它将Java类与数据库表对应,Java对象与表记录对应。通过ORM,我们可以将数据库操作转化为对Java对象的操作,降低了数据访问的复杂性。 ...

    hibernate基础 二 关联映射 级联操作

    ### Hibernate基础之关联映射与级联操作 #### 第一部分:主键生成策略与对象状态管理 ##### 主键生成策略 在使用Hibernate框架时,合理的主键生成策略能够极大地简化开发工作并提升应用性能。Hibernate提供了多种...

    Hibernate入门到精通

    SessionFactory 对象是 Hibernate 的核心组件之一。 Hibernate 的优点 Hibernate 有很多优点,它可以帮助开发者快速地访问和操作数据库。下面是 Hibernate 的一些优点: * 简洁高效:Hibernate 提供了一种简洁...

    Hibernate持久化映射一对多和多对一

    Hibernate提供了一些内置的分页功能,可以通过Query或Criteria API实现。 **使用Query实现分页**: ```java Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); // ...

    Hibernate和java中的对应数据类型

    然而,当我们与数据库进行交互,特别是使用ORM(对象关系映射)框架如Hibernate时,这些数据类型需要与数据库中对应的数据类型相匹配,以确保数据的正确存储和检索。下面我们将详细探讨Java、Hibernate以及SQL之间的...

    Hibernate课程

    - **List、Set、Map**:理解这些集合类型在Hibernate中的映射,以及它们的区别。 - **懒加载与立即加载**:了解如何配置集合的加载策略,优化性能。 **6. 缓存机制** - **一级缓存与二级缓存**:了解Hibernate的...

    开源对象关系映射框架Hibernate知识培训

    5. **事务管理**:Hibernate内置了事务处理机制,能够方便地管理和控制事务的提交和回滚。 **Hibernate核心组件** 1. **Configuration**:配置Hibernate,包括加载配置文件、连接数据库等。 2. **SessionFactory**...

    简要分析Java的Hibernate框架中的自定义类型

    在Java的Hibernate框架中,自定义类型是一种非常实用的功能,它允许开发者根据特定业务需求扩展Hibernate内置的数据类型。当我们发现Hibernate默认的数据类型无法满足我们存储数据的特殊要求时,例如需要处理复杂...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     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 映射文件 id 的 generator 配置方法是 Hibernate 框架中的一种重要配置,用于生成持久化类实例的唯一标识符。下面将对 Hibernate 映射文件 id 的 generator...

    [PDF]Hibernate4(基本开发,入门,配置,CRUD)

    Hibernate 提供了丰富的内置类型映射,可以将 Java 数据类型映射为 SQL 数据类型。此外,还支持用户自定义类型映射,以满足复杂的数据类型需求。 #### 组件映射 在某些情况下,可能需要将 Java 对象的某个属性映射...

    Hibernate4实战 之第七部分

    ### Hibernate4实战之第七部分:最佳实践 #### 设计细颗粒度的持久类并使用`&lt;component&gt;`实现映射 在Hibernate中,细颗粒度的持久类是指将实体中的复杂属性拆分成单独的对象进行管理。例如,对于一个用户实体中的...

    hibernate3必要jar包

    6. **第一级缓存和第二级缓存**:Hibernate内置了第一级缓存,每个Session都有自己的缓存;第二级缓存是可选的,可以跨Session共享,通常由缓存提供商如Ehcache提供。 7. **事务管理**:Hibernate支持JTA(Java ...

Global site tag (gtag.js) - Google Analytics