Hibernate复习(一)ORM

1.软件的模型

在软件开发领域,模型用来表示真实世界的实体。

在软件开发的不同阶段,需要为目标系统

创建不同类型的模型:

–-在分析阶段,需要创建概念模型。

–-在设计阶段,需要创建域模型和数据模型。

2.概念模型

? 概念模型用来模拟问题域中的真实实体。

? 概念模型描述了每个实体的概念和属性,以及实体之间的关系。

? 概念模型并不描述实体的行为。

3.关系数据模型

关系数据模型是在概念模型的基础上建立起来的,用于描述这些关系数据的静态结构,它由以下内容组成:

–一个或多个表

–表的所有索引

–视图

–触发器

–表与表之间的参照完整性

4.域模型

域模型是面向对象的。在面向对象术语中,域模型也可称为设计模型。域模型由以下

内容组成:

–具有状态和行为的域对象

–域对象之间的关系

? 关联

? 依赖

? 聚集

? 一般化(泛化)

5.ORM

ORM(object—relationship mapping)模式:在单个组件中负责所有实体域对象的持久化,封装数据访问细节。

ORM解决的主要问题就是对象-关系的映射。域模型和关系模型都分别建立在概念模型的基础上。域模型是面向对象的,而关系数据模型是面向关系的.

? Hibernate是ORM的一个实现

欢迎大家一起讨论学习!

有用的自己收!

记录与分享,让你我共成长!欢迎查看我的其他博客;我的博客地址:http://blog.csdn.net/caicongyang

Hibernate复习(一)ORM,布布扣,bubuko.com

时间: 2025-01-14 21:30:39

Hibernate复习(一)ORM的相关文章

Hibernate复习之Hibernate基本介绍

众所周知,目前流行的面向对象的对象关系映射的Java持久层框架有MyBatis和Hibernate,他们都是对象关系映射ORM, 解决的主要问题就是对象-关系的映射,域模型和关系模型都分别建立在概念模型的基础上,域模型是面向对象的,关系模型是面向关系的,一般情况下,一个持久化类和一个表对应,类的每个实例对应表中的一条记录. (可能存在类中多个属性对应一列的情况,映射组成关系), ORM中间件采用元数据来描述对象-关系映射细节,元数据通常采用XML格式,并且存放在专门的对象-关系映射文件中,如果希

Hibernate复习(七)常见的映射类型B

1.继承关联映射 1.1继承关系映射到多张表 配置: <class name="Product"....> .... <joined-subclass name="" table=""> <key column="t_product_id"/> <property ... /> </joined-subclass> </class> 基本操作:  保存:

【Hibernate学习】 ——ORM(三)

前面几种关系我们以前就经常用,对于继承我们也并不陌生,经常接触的类与类之间的继承用extends关键字,那么在表与表的关系中如何表示呢?下面我们来讲继承映射. 继承有三种实现的策略,单表继承,具体表继承,类表继承.下面来分析一下这三种方式 继承关联类关系  单表继承 每棵类继承树使用一个表,可知,这三个类在一张表中.如下表: 这张表包括了父类,子类的所有属性,通过Type来区分是哪个子类. 对象模型映射到关系模型: <classname="com.bjpowernode.hibernat.

【Hibernate学习】 ——ORM(一)

Hibernate是一种能实现ORM的框架.ORM即Object Relational Mapping,对象关系映射.也就是将关系数据库中表的数据映射成为对象,也就是说将表与表之间的操作映射成对象与对象之间的操作,通过实体类来达到操作表的目的.总之就是把对数据库的操作转化为对对象的操作,从而更体现了面向对象的思想. 一对一关联映射策略包括主键关联和唯一外键关联. 单向一对一 主键关联 让两个对象有相同的主键值,表名它们之间的一对一关系,数据库没有额外的字段来维护它们之间的关系,仅仅通过表的主键来

【Hibernate学习】 ——ORM(二)

上篇博客主要介绍了一对一的关系,主要理解单向与双向的区别,主键关联与唯一外键关联的区别.下面继续介绍一对多与多对多关联. 一对多关联映射 一个班级对应多个学生 单向一对多关系 关系表: classes代码 <classname="com.bjpowernode.hibernat.Classes"table="t_classes"> <idname="id"> <generatorclass="native&

Hibernate复习(六)检索策略

1.立即检索策略 默认的检索策略. 缺点: select语句的数目太多,需要频繁的访问数据库,会影响检索性能.如果需要查询n个Customer对象,那么必须执行n+1次select查询语句. 这种检索策略没有利用SQL的连接查询功能.利用left join 只需一条sql语句既可以实现N+1次查询的结果.并且可能造成内存空间的浪费. 2.延迟策略 在一对多关联级别中对于<set>元素,应该优先考虑使用延迟检索策略. ? 优点 – 由应用程序决定需要加载哪些对象,可以避免执行多余的select语

Hibernate复习(二)主要对象

1.SessionFactory 一个SessionFactory实例对应一个数据存储源,应用从SessionFactory中获得Session实例. SessionFactory有以下特点: –它是线程安全的,这意味着它的同一个实例可以被应用的多个线程共享. –它是重量级的,这意味着不能随意创建或销毁它的实例.如果应用只访问一个数据库,只需要创建一个SessionFactory实例,在应用初始化的时候创建该实 例.如果应用同时访问多个数据库,则需要为每个数据库创建一个单独的SessionFac

Hibernate复习(三)配置文件详解

1.hibernate.cfg.xml 2.映射文件Person.hbm.xml Java的实体类是通过配置文件与数据表中的字段相关联.Hibernate在运行时解析配置文件,根据其中的字段名生成相应的SQL语句 a.id属性 <generator>子元素用来设定标识符生成器.Hibernate提供了多种内置的实现. b.property属性 ? name属性:指定持久化类的属性的名字. ? type属性:指定Hibernate或Java映射类型.Hibernate映射类型是Java类型与SQ

Hibernate复习(四)常见的映射类型A

1.many-to-one 属性如下: ? name:设定待映射的持久化类的属性名. ? column: 设定和持久化类的属性对应的表的外键. ? class:设定持久化类的属性的类型. 2.set <set>元素包括以下属性: – name: 设定待映射的持久化类的属性名 – cascade: 当取值为"save-update",表示级联保存和更新. – inverse:当取值为"true",表示在双向关联中,这一端为镜像端. ? <set>