`
jackmisweijie
  • 浏览: 71974 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

第八章 Hibernate的入门

阅读更多
 
注:希望大家看后,请给我一点评价,无论写的怎么样,希望你们能给我支持。提出你宝贵的意见。我会继续完善。谢谢您。朋友。
   今天又很高兴可以和大家一块探讨一下有关hibernate的知识,好长时间没有写关于hibernate的文章了。今天就主要讲述一下hibernate的核心知识。
第八章 Hibernate的入门
O/R Mapping基础
1、模型
1)模型用来表示真实世界的实体
在科学和工程技术领域,模型是一个很有用途的概念,它可以用来模拟一个真实的系统。在软件开发领域,模型用来表示真实世界的实体。
2)不同类型的模型
在软件开发的不同阶段,需要为目标系统创建不同类型的模型。
l  在分析阶段----需要创建概念模型
l  在设计阶段----需要创建域模型和数据模型
ü  其中,域模型是面向对象的,数据模型是面向关系的
ü  域模型和数据模型之间存在一种对象-关系映射。
 
3)概念模型
l  概念模型清楚地显示了问题域中的实体
不管是技术人员还是非技术人员都能看得懂概念模型,他们可以很容易地提出模型中存在的问题,帮助分析人员及早对模型进行修改。
在软件设计域开发周期中,模型的变更需求提出得越晚,所耗费得开发成本就越大。
l  概念模型描述了每个实体的概念和属性,以及实体之间的关系:一对一、一对多和多对多
在现实生活中都可以找到相应的例子,例如一只母鸡有很多小鸡是一对多关系,一位客户选购了很多商品,而这些商品也可以被许多客户选购,这是多对多关系。
4)关系数据模型
    到目前为止,关系数据库仍然是使用最广泛的数据库,它存储的是关系数据。关系数据模型是在概念模型的基础上建立起来的,用于描述这些关系数据的静态结构,它由以下内容组成:
l  一个或多个表
l  表的所有索引
l  视图
l  触发器
l  表与表之间的参照完整性
5)域模型
    域模型由以下内容组成:具有状态和行为的域对象;域对象之间的关系。
2、域对象
1)实体域对象
代表人、地点、事物或概念。通常,可以把业务领域中的名词,例如客户、订单、商品,当然也包括前面提到过的母鸡,作为实体域对象;
2)过程域对象
代表应用中的业务逻辑或流程。它通常依赖于实体域对象。
3)事件域对象
代表应用中的一些事件,例如异常、警告或超时等。
 
3、域对象之间的关系
    在域模型中,类之间存在下面的的几种关系。
1)关联(Association)
关联指的是类之间的引用关系(它使一个类指到另一个类的属性),这是实体域对象之间最普遍的一种关系。关联可以分为一对一、一对多和多对多关联。
2)依赖(Dependency)
依赖指的是类之间的访问关系。如果类A访问类B的属性或方法,或者说是A负责实例化B,那么可以说类A依赖类B
依赖对象通过调用被依赖对象的方法来获得服务。一种比较松散的关系,并且是短期的。我们的业务处理过程与对象往往依赖于我们的实体域对象。如在struts action中调用模型层的方法。
3)聚集(Aggregation)
聚集指的是整体与部分之间的关系,在实体域对象之间也很常见。其实聚合关系是关联关系的一种,是强的关联关系。聚合同时也体现整体和部分之间的关系。
例如,人与手就是聚集关系,在Person类中由一个hands集合,它存放被聚集的Hand对象:
public class Person
{
      private Set hands = new HashSet();
      …………
}
4)组合
也叫合成关系,组成关系是关联关系的一种,是比聚合关系强的关系。对象负责代表部分的对象的生命周期。
5)一般化(Generalization)
    一般化指的是类之间的继承关系。
4、既然聚合,组合关系属于关联关系,那么如何区分一般关联关系,聚合关系和组合关系呢?
1)一般关联
只要一个对象联系到另外一个对象就形成了关联关系。如:人和他的猫,黑豹乐队和窦魏,pc机和显示器。
2)聚合关系
一种强关联关系,它要求有部分和整体的关系,并且没有了整体,部分也可以独立存在。
在上面例子中人和它的猫显然没有部分和整体的关系,所以只能是一般的关联关系。而黑豹乐队和窦魏,窦魏等人组成,了黑豹乐队即:窦魏和黑豹是整体和部分的关系。而窦魏脱离了黑豹(早就离开了)更或者黑豹不存在了那么窦魏仍然可以以音乐人的身份存在(即对象仍然可以独立存在)所以它属于聚合关系。
组成关系是可以共享的。(窦魏也可以加入其他乐队)。
3)组合关系
一种更强的整体和部分的关系。它并且要求代表整体的对象负责代表部分的对象的生命周期,组成关系是不能共享的。如:pc机和显示器的关系。
4)注意的问题
如果两个实体是整体和部分的关系,那么它们到底是聚合还是组合,这取决于你的需求。比如说:pc机和显示器的关系,如果你的系统中,显示器脱离了pc机就不存在意义了也可以说:所有显示器的访问都是通过pc机进行的,那么你可以把关系设定为组合(如你在为一个只买品牌机的代理商作系统你可能是可以这么作的)。
如果你的显示器脱离的pc机仍然可以独立存在,也就是说在系统中可以直接访问显示器对象,那么你可以将关系设为聚合(如你在为一个买散件的代理商作系统你可能是可以这么作的)
以下部分以后在写.....
分享到:
评论

相关推荐

    Hibernate 手册 第一章 Hibernate入门

    《Hibernate 手册 第一章 Hibernate入门》 Hibernate 是一个开放源码的Java持久化框架,它为Java开发者提供了一种对象关系映射工具来管理Java应用中的关系数据。本章将带你逐步走进Hibernate的世界,了解其基本概念...

    hibernate入门--第一个实例

    【hibernate入门--第一个实例】 Hibernate 是一个强大的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务。通过使用Hibernate,我们可以将数据库操作转换为对Java对象的操作,从而简化了数据库...

    hibernate入门

    **hibernate入门** Hibernate 是一个强大的Java持久化框架,它简化了数据库操作,使得开发者无需直接编写SQL语句即可实现对象与关系数据库之间的映射。这个文档将带你步入Hibernate的世界,了解其基本概念和核心...

    hibernate入门数据简单插入

    标题"hibernate入门数据简单插入"指的是使用Hibernate框架进行数据库的基本操作,特别是数据的插入。Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者在应用程序中处理数据库对象,而无需直接编写...

    hibernate入门小程序

    **hibernate入门小程序** Hibernate 是一款开源的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务,使得开发人员可以使用面向对象的方式来操作数据库,而无需过多地关注SQL语句的编写。在...

    hibernate快速入门

    **Hibernate 快速入门** Hibernate 是一款开源的Java框架,用于简化对象关系映射(ORM)的任务,它允许开发者将数据库操作转化为对Java对象的操作,从而极大地提高了开发效率。本教程将采用最简单的实例和易懂的...

    hibernate3入门

    ### hibernate3入门知识点 #### 一、概述 **Hibernate**是一种对象关系映射(Object/Relational Mapping,简称ORM)解决方案,它提供了一种机制,用于将Java对象及其关系映射到关系型数据库中的表及其关系。通过...

    02_传智播客hibernate教程_hibernate入门案例的细节分析

    【标题】:“02_传智播客hibernate教程_hibernate入门案例的细节分析” 在本教程中,我们将深入探讨Hibernate,一个流行的Java对象关系映射(ORM)框架,它简化了数据库操作,使开发者可以更加专注于业务逻辑而不是...

    hibernate入门的第一次代码

    【hibernate入门的第一次代码】是一个针对初学者的指南,旨在帮助他们了解并开始使用Hibernate框架。Hibernate是一个流行的开源对象关系映射(ORM)工具,它允许Java开发者以面向对象的方式操作数据库,减少了手动...

    hibernate入门必看

    **Hibernate入门指南** Hibernate 是一款强大的Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以更加专注于业务逻辑,而非底层的SQL语法。本篇将深入浅出地介绍Hibernate的基础知识,帮助...

    极好的hibernate入门实例

    标题“极好的hibernate入门实例”表明这是一份关于Hibernate的初级教程,旨在帮助初学者快速掌握Hibernate的基本概念和用法。Hibernate是一个强大的Java持久化框架,它简化了数据库操作,使得开发者可以更专注于业务...

    图书:Hibernate入门 - 第二版

    《Hibernate入门 - 第二版》是一本专注于Java领域持久化技术的书籍,主要围绕开源ORM框架Hibernate进行深入讲解。Hibernate是Java开发中最流行的Object-Relational Mapping(对象关系映射)工具之一,它极大地简化了...

    hibernate入门需要的包

    以上是Hibernate入门的基本知识点,通过实践这些内容,新手可以逐步掌握Hibernate的使用,为开发数据库驱动的Java应用打下坚实基础。在实际项目中,还会涉及到更多高级特性和最佳实践,如事务管理、级联操作、批处理...

    Hibernate入门代码.rar

    **Hibernate入门代码** Hibernate是一个强大的Java对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是底层SQL语句。这个压缩包“Hibernate入门代码.rar”提供了一些基础案例,...

    Hibernate入门(上)笔记.pdf.zip

    【Hibernate入门(上)笔记.pdf】 这篇笔记主要涵盖了Hibernate框架的基础知识,它是Java开发中用于对象关系映射(ORM)的热门工具。Hibernate允许开发者用Java对象来操作数据库,消除了传统的JDBC代码,提高了开发...

    Hibernate 3.6.3 入门程序

    【标题】"Hibernate 3.6.3 入门程序" 【内容详解】 Hibernate 是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了一种在数据库中操作对象的简便方法。Hibernate 3.6.3是该框架的一个稳定版本,提供了许多...

    hibernate第一个hibernate

    《Hibernate入门:初识与实践》 在Java开发领域,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。本教程将带领初学者深入理解Hibernate的第一个项目,帮助你快速入门并掌握其核心概念。...

    hibernate入门配置

    **hibernate入门配置** Hibernate 是一款强大的Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据库事务。对于初学者来说,掌握Hibernate的配置是学习ORM技术的...

    Hibernate入门-搭建框架实现基本的增删改查(源码)

    **Hibernate入门:搭建框架实现基本的增删改查** Hibernate 是一个开源的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互。在本教程中,我们将深入理解Hibernate的基本概念,并通过实例演示如何...

Global site tag (gtag.js) - Google Analytics