Hibernate学习笔记一:基本概念理解

本文介绍了Hibernate作为连接Java应用程序和关系数据库的中间件的作用,并详细解释了软件体系的三种模型:概念模型、数据模型和域模型。此外还讨论了实体域对象的不同持久化方式,包括直接使用JDBC API、ORM、主动域对象模式、JDO模式、CMP模式以及Hibernate提供的API。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hibernate是连接java应用程序和关系数据库的中间件;对底层jdbc api进行了封装,负责java对象的持久化,正因为对数据细节访问的封装,使业逻辑层可以专注于业务逻辑。

软件体系的三种模型:

一、概念模型:描述每个实体的概念和属性,以及实体之间的关系。较通俗易懂。

二、数据模型:主要表现在关系数据模型,它是在概念模型基础上建立起来的,用于描述关系数据的静态结构。如在关系数据库中中各个表之间的关联。

三、域模型:主要由以下内容组成。

  1. 具有状态和行为的域对象。如:
   实体域对象POJO(用户,订单),某些实体EJB,javaBean等。
   过程域对象:代表应用中的业务逻辑和流程。
   事件域对象:代表应用中的一些事件。

  2. 域对象之间的关系:
   关联:即1:1,1:N,N:N ;
   依赖:类之间的访问关系,表现为类之间的属性关系;
   聚集:整体与部分之间的关系;它与在联有区别,聚集中部分类的对象不能单独存在,它的生命周期依赖于整体类的对象生命周期,当整体消失,部分也消失。
   一般化:体现类之间的继承关系。

实体域对象持久化

  1. 直接通通jdbc API来持久化实体域对象:
  涉及内容:DriverManager、Connection、Statement、PreparedStaement、ResultSet。

  2. ORM:关系对象映射。它采用映射元数据来描述对象关系的映射细节;即面向对象与面向关系之间的基本映射。只要配置了持久化类与表的映射关系,ORM中间件就能参照映射文件的信息,把域对象持久化到数据库中。

实体域对象的其它持久化模式

  主动域对象模式:在它的实现中封装了关系数据模型和数据访问的细节,每个实体域对象都负责自身的数据访问实现,会造成编码重复。

  JDO模式:SUN定制的标准API,它支持把对象持久化到任意一种存储系统中,包括:关系数据库,面向对象数所库,基于XML数据库,其它存储系统,因此,从某种角度它并不是对象关系映射接口。

  CMP模式:由EJB容器来管现实体EJB的持久化,EJB容器封装了对象关系的映射及数据的访问细节。因J2ee规范的影响,实现比较复杂。

Hibernate API

  核心接口五个:
  Configuration 接口:配置Hibernate,启动Hibernate,创建军SessionFactory对象。
  SessionFactory 接口:初始化Hibernate,充当数据存储源代理,创建Session对象;如需访问多个数据库,必须为每个数据库创建单独的SessionFactory实例。它可以配置一个二级缓存插件。
  Session 接口:保存、更新、删除、加载、查询对象。它被称为Hibernate的一级缓存。
  Transaction :管理事务。它封装了底层的事件接口;如jdbc api,JTA,Corba。它的存在,使得移植性的方便。比较关注数据库事务与并发。
  Query 和 Criteria 接口:执行数据库查询。Query包装了一个HQL查询语句,面向对角的查询语名,它引用类名及类的属性名,而不是表名及表的字段名。Criteria接口封装了基于字符串形式的查询语句,比Query更加面向对象,擅长执行动态查询。

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值