Hibernate简介

Hibernate简介

(开源O/R映射框架):为了解决面向对象与关系型数据库存在不匹配现象的技术。本质是将数据从一种形式转换到另外一种形式。

分层后,上层不需要知道下层是如何做,不可以是循环依赖,一般是单向依赖。

Hibernate的作用:

●将对象模型(实体类)的数据存入关系模型

OOA:面向对象的分析

OOD:面向对象的设计

OOP:面向对象的开发

阻抗不匹配:例如JAVA类中有继承关系,但关系数据库中不存在这种概念,这就是阻抗不匹配,Hibernate可以解决这个问题

Hibernate存在原因:

1. 解决阻抗不匹配

2.目前不存在完整的面向对象的数据库(都是关系型数据库)

Hibernate的优点:

1.只需要操作相应的对象,实现了面向对象的操作

2.不需要编写SQL语句,提高了开发效率

3.移植性好(更换数据库时,只需要修改配置文件就可以了)

4.Hibernate实现了透明持久化:当保存一个对象时,这个对象不在继承Hibernate的任何类,实现任何接口,只是一个纯粹的POJO对象

Hibernate是一个没有侵入性的框架(轻量级框架)


Hibernate使用范围:

1.针对某一个对象,简单的将它加载,编辑,修改,且修改只是针对单个对象

2.对象之间有清晰的关系(如多对一,一对多)

3.聚集性操作:批量添加,修改时,不适合使用

4.使用数据库中的特定功能时不适合使用,因为Hibernate不使用SQL

Hibernate重点学习内容:Hibernate的对象关系映射

对象关系映射模式

●属性映射

●类映射

●关联映射

■一对一

■一对多

■多对多

常用O/R映射框架:

1. Hibernate

2.Apache OJB

3.JDO(SUN)

4.TopLink(Oracle公司)

5.EJB

6.IBatis(非常的轻量级,对JDBC做了一个非常轻量级的包装,严格说不是O/R映射框架,而是基于SQL的映射(提供了一套配置文件,把SQL语句配置到文件中,再配置一个对象进去,只要访问配置文件就可以访问到对象))


Hibernate是一个O/R映射框架(也称为ORM)

从ORM词来看,O-Object(对象模型);R-Relational(关联模型),可以看做对象关联的一种映射,一个完善的ORM框架应该具有更多的功能;如HQL相关查询语句,提供缓存机制(一级缓存,二级缓存)

Configration对象:读取hibernate配置文件(hibernate.cfg.xml或hibernate.properties)的,new Configuration()默认是读取hibernate.properties,所以使用new Configuration().configure();来读取hibernate.cfg.xml配置文件

SessionFactory:是一个重量级对象,它的创建是耗时的。因为它对应一个数据库里的所有配置,包括一些缓存机制都是由SessionFactory来维护,它与二级缓存是绑定的。通常只创建一次,但它是线程安全的。

Session是非线程安全的,它是通过SessionFactory来创建的。不要多个线程同时访问一个Session,否则会出现一些未知问题。通常是一个请求对应一个Session,请求完成关闭Session

Transaction:Hibernate默认不是自动开启事物的,所以要手动开启事物,手动提交事物,手动回滚事物,手动关闭事物。也可以通过配置文件配成自动

Hibernate的正常开发思路:考虑对象模型这一块,把对象模型建立起来,把对象图建立起来,对象之间的关系建立起来,然后编写映射文件(hbm);然后根据映射文件生成数据库。数据库对我们来说是透明的,我们只关心数据库。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值