`

Hibernate O/R映射

阅读更多

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 O/R Mapping 入门工程包

    总结来说,这个"Hibernate O/R Mapping 入门工程包"提供了从XML到Annotation的映射示例,以及简单的数据库操作实例,是学习和理解Hibernate ORM机制的良好起点。通过深入学习和实践,开发者可以更高效地在Java应用中...

    hibernate如何用O/R Mapping框架来实现我们的数据层

    ### Hibernate与O/R Mapping框架详解 #### 一、O/R Mapping概述 O/R Mapping(Object-Relational Mapping)即对象关系映射,是一种程序技术,用于将对象模型表示的应用程序对象与关系数据库中的表进行相互转换。在...

    数据映射方案.pdf

    O/R 映射技术可以应用于各个语言的平台,无论是 .NET 还是 J2EE。但不同的是 O/R 映射只是一种技术方案,最终应用到各个平台还需要具体的 O/R 映射技术进行支持。 在 O/R 映射方案中,有几个关键问题:实体映射、...

    泛型、反射 实现 O/R mapping 示例

    在Java编程语言中,O/R Mapping(对象关系映射)是一种技术,用于将数据库中的关系数据映射到对象模型上,使得开发人员可以更方便地处理数据,而无需直接操作SQL语句。在这个示例中,我们将探讨如何利用泛型和反射来...

    Wormhole:J2EE的自动和实时O / R映射框架-开源

    在传统的O/R映射框架中,如Hibernate或MyBatis,开发人员通常需要创建Plain Old Java Objects (POJOs) 并手动维护XML映射文件来定义对象与表之间的关系。然而,Wormhole框架消除了这个需求。它允许开发人员直接使用...

    深入浅出Hibernate中文版 part1

    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中文版 part2

    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映射三大基本定则

    Hibernate ORM(对象关系映射)框架是Java开发者广泛使用的数据持久化工具,它允许程序员将Java对象模型与数据库关系模型进行映射,从而简化数据库操作。以下是对Hibernate ORM映射三大基本定则的详细解释: 1. **...

    一個好好的 hibernate 介紹

    例如,在不使用 O/R 映射的情况下新增一个用户账户时,需要编写 SQL 插入语句并处理相关的事务管理等,这是一项冗长且繁琐的工作,消耗大量的开发时间和人力成本。 - **解决方案**: - 使用面向对象的数据库代替...

    对象-关系映射—Hibernate 培训 (中文)

    对象-关系映射—Hibernate 培训 (中文) ...一、持久化层-O/R Mapping 二、Hibernate入门 三、Hibernate映射申明(Mapping declaration) 四、持久化对象的状态和生命周期 五、Hibernate查询 六、Hibernate最佳实践

    深入浅出Hibernate

    本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了 Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用...

    hibernate培训ppt

    【hibernate培训ppt】这份53页的资料主要涵盖了对象/关系映射(O/R Mapping)的概念,以及Hibernate框架的入门、映射声明、对象状态与生命周期、查询及最佳实践等内容。对于有一定Java、SQL和JDBC基础,且熟悉面向...

    Hibernate笔记 马士兵

    二、常用的O/R映射框架: 13 第10课 模拟Hibernate原理(OR模拟) 13 一、 项目名称 13 二、 原代码 13 第11课 Hibernate基础配置 15 一、 提纲 15 二、 介绍MYSQL的图形化客户端 16 三、 Hibernate.cfg.xml:hbm2ddl....

    hibernate学习幻灯片

    【hibernate学习幻灯片】的讲解涵盖了多个关于Hibernate框架和对象/关系映射(O/R Mapping)的核心概念。Hibernate是一种广泛使用的开源Java库,它允许开发者将Java对象直接映射到关系数据库,简化了数据库操作,...

    Hibernate完整使用教程

    Hibernate 的主要特点是将对象关系映射(O/R Mapping)技术应用于关系数据库,实现了对象到关系数据库的无缝集成。 为什么选择 Hibernate Hibernate 的出现是为了解决传统的 JDBC 编程中的问题。传统的 JDBC 编程...

    EJB3.0规范概述

    O/R映射(Object-Relational Mapping)一直是实体bean开发中的难点,EJB3.0借鉴了流行的开源框架Hibernate的成功经验,简化了实体bean与数据库表之间的映射过程,提高了数据访问的效率和便捷性。此外,EJBQL(EJB ...

Global site tag (gtag.js) - Google Analytics