O/R映射是ORM框架中最为关键的部分;
- Hibernate基本数据类型,在Hibernate实体属性映射关系定义时,通过这些类型定义,可以完成Java数据类型到数据库特定数据类型的映射关系;
例如:
<property name="age" type="integer"></property>
将integer类型的属性age映射到库表字段age;integer是hibernate基本数据之一,Hibernate中提供了丰富的数据类型,其中包括传统类型的java数据类型(String,Integer)及JDBC数据类型,如:Clob,Blob等;Hibernate还支持用户自定义类型;
在HIbernate中,基本数据类型:
Hibernate基本类型
|
JAVA类型
|
标准SQL字段类型
|
Boolean
|
Boolean,java.lang.boolean
|
BIT
|
Yes_no
|
Boolean,java.lang.boolean
|
Char(1)(‘Y’/’N’)
|
True_false
|
Boolean,java.lang.boolean
|
Char(1)(‘Y’/’N’)
|
Byte
|
Byte,java.lang.byte
|
TINYINT
|
Short
|
Short,java.lang.short
|
SMALLINT
|
Interger
|
Int,java.lang.integer
|
INTEGER
|
Long
|
Long,java.lang.long
|
BIGINT
|
Float
|
Float,java.lang.float
|
FLOAT
|
Double
|
Double,java.lang.Double
|
DOUBLE
|
Big_decimal
|
Java.math.BigDecimal
|
NUMBERIC
|
Character
|
Java.lang.string
|
CHAR(1)
|
String
|
Java.lang.string
|
VARCHAR
|
Date
|
Java.util.Date,java.sql.Date
|
DATE
|
Time
|
Java.util.Date,java.sql.Time
|
TIME
|
Timestamp
|
Java.util.Date,java.sql.TimeStamp
|
TIMESTAMP
|
Calender
|
Java.util.Calendar
|
TIMESTAMP
|
Calender_date
|
Java.util.Calendar
|
Date
|
Clob
|
Java.sql.clob
|
CLOB
|
Blob
|
Java.sql.blob
|
BLOB
|
Binary
|
Byte[]
|
VARBINARY,BLOB
|
Text
|
Java.lang.String
|
CLOB
|
Seralizable
|
Java.io.serializable
|
VARBINARY,BLOB
|
Class
|
Java.lang.class
|
VARCHAR
|
Local
|
Java.util.locale
|
VARCHAR
|
Timezone
|
Java.util.timezone
|
VARCHAR
|
Currency
|
Java.util.currency
|
VARCHAR
|
Hibernate基本类型概括了日常开发中所需的觉得大多数情况,提供了传统数据库类型和java数据类型之间的链接纽带;
实体映射技术作为类与表之间的联系纽带,对于使用Hibernate而言,映射关系更多的体现在配置文件的维护过程中;
1.实体映射基础
实体映射的核心内容,即实体类与数据库表之间的映射定义;hibernate中,类映射主要包含3部分内容:
a.表名---类名映射
b.主键映射
c.字段映射
比如我们有TUser这个实体类,数据库里有TUser这个表;就可以通过XML文件对其进行关联,根据习惯,我们将映射文件(XML)的名字和类名保持一致;以.hbm.xml为结尾;如:
TUser.java:
public class TUser implements java.io.Serializable {
private Integer tId;
private String tName;
private Integer age;
...
}
TUser.hbm.xml:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.keith.bean"> <!-- 配置文件根节点 -->
<!-- 类名/表名映射 -->
<class name="TUser" table="TUser">
<!-- id映射 -->
<id name="tId">
<generator class="native"/>
</id>
<!-- 字段映射 -->
<property name="tName"></property>
<property name="age" type="integer"></property>
</class>
</hibernate-mapping>
详细的字段属性设置,在hibernate文档中很详细;
Hibernate中还支持一种与实体无关的映射方式:动态模型(Dynamic Model)!(不知道用的多不多暂不学习!)
分享到:
相关推荐
Hibernate 快速入门的工程包 包括用xml和annotation映射数据表
理解典型的三层架构,如何用O/R Mapping框架来实现我们的数据层。这里主要介绍现在非常流程的Hibernate框架,,掌握Hibernate相关的概念;并如何做对象和关系的映射,如何在应用中使用Hibernate
4.3 Hibernate O/R映射 4.4 数据关联 4.5 Hibernate数据检索 4.6 HQL实用技术 4.7 自定义持久化实现 第5章 Hibernate高级特性 5.1 Hibernate持久化实现 5.2 Hibernate回调与拦截机制 5.3 Hibernate实用技术 ...
Hibernate O R映射三大基本定则
在持久层,AppFuse采用了Hibernate O/R映射工具(http://www.hibernate.org);在容器方面,它采用了Spring Framework(http://www.springframework.org)。用户可以自由选择Struts、Spring/MVC,Webwork,Taperstry...
4.3 Hibernate O/R映射 4.4 数据关联 4.5 Hibernate数据检索 4.6 HQL实用技术 4.7 自定义持久化实现 第5章 Hibernate高级特性 5.1 Hibernate持久化实现 5.2 Hibernate回调与拦截机制 5.3 Hibernate实用技术 ...
在持久层,AppFuse采用了Hibernate O/R映射工具;在容器方面,它采用了Spring Framework。用户可以自由选择Struts、Spring/MVC,Webwork,Taperstry、JSF这几个web框架。采用TDD的开发方式,使用JUnit测试各层,甚至...
001 Hibernate 简介(开源 O/R 映射框架) 002 第一个 Hibernate 示例 003 hibernate 主要接口介绍 004 持久对象的生命周期介绍 005 query 接口初步 006 开源 O/R 映射框架内容回顾 007 Hibernate 基本映射标签和属性...
在持久层,AppFuse采用了Hibernate O/R映射工具;在容器方面,它采用了Spring Framework。用户可以自由选择Struts、Spring/MVC,Webwork,Taperstry、JSF这几个web框架。采用TDD的开发方式,使用JUnit测试各层,甚至...
对象-关系映射—Hibernate 培训 (中文) ...一、持久化层-O/R Mapping 二、Hibernate入门 三、Hibernate映射申明(Mapping declaration) 四、持久化对象的状态和生命周期 五、Hibernate查询 六、Hibernate最佳实践
本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了 Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用...
二、常用的O/R映射框架: 13 第10课 模拟Hibernate原理(OR模拟) 13 一、 项目名称 13 二、 原代码 13 第11课 Hibernate基础配置 15 一、 提纲 15 二、 介绍MYSQL的图形化客户端 16 三、 Hibernate.cfg.xml:hbm2ddl....
1.Hibernate概述 2.单表O/R数据库映射 3.多表O/R数据库映射 4.HQL语言 5.对象状态管理 6.最佳建议
本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术...
本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术...
Hibernate 是一个开源的O/R mappimg的框架,基于JDBC提供了一种持久性数据管理的方案,相对于EntityBean来说是相当轻量级的。由于Hibernate是基于 JDBC的,所以它的数据库查寻的能力相对于CMP来说也是异常强大的,...
本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术...
本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术...