Hibernate的作用

Hibernate详解

什么是Hibernate

Hibernate(冬眠=活着)==Model

开源,关系映射 ,轻量级,全自动的框架、数据持久性的处理框架(轻量级ORM映射框架):Data Persistentce Framework
优点
1.封装:隐藏具体的实现细节
2.封装JDBC的具体实现细节
3.简化了数据库的操作
4.完成了对象和数据库之间的映射
5.hql语句(面向对象 操作的是类名和属性名)!= sql(操作表名和列名)
HIbernate是基于配置的
hibernate跨数据库平台,针对不同数据库可以进行不同的沟通
全自动:sql语句自动生成,自动执行:
sql全称:Struct query language 结构化查询语句
hql :hibernate query language hibernate专用查询语句
数据库只能执行sql语句,hql是假象
hibernate进行增删改的过程中必须开启事物.

首先我们要知道什么是持久化:

断电之后没有的就属于临时的
持久存储:把数据保存在可掉电式的存储设备中提供使用
持久层:专注于实现数据持久化的相对独立的领域

为什么说hibernate是面向对象的

在hibernate出现之前我们一直通过写sql语句去操作数据库,身为面向对象的我们感觉是不是有些怪怪的仿佛我们是面向sql而不是面向对象
hibernate把面向sql转换为面向对象
用对象影响数据
Hibernate底层还是用的sql语句:表面看到的又成了假象,看到的是操作对象,在底层是把操作对象转化成了操作SQL语句

hibernate的核心(重点!!)

ORM对象关系映射(hibernate的核心) Object/Relation Mapping :
对象和数据之间的映射: 类和表的对应,类中的属性和列之间的对应
对象和对象之间的关系映射: 表与表的主外键关系

单例模式又叫单态模式:
一个类有且仅有一个实例,并且自行实例化向整个系统提供服务.
模板模式:父类是抽象类,但是类中没有任何的抽象方法,只提供一些方法的规定和方法的实现 ,方法的实现由子类完成
dao模式:为每个实体对象提供了一个特定的访问对象,以便于我们访问数据
单例模式分类:
懒汉模式:声明对象时候不初始化,什么时候用什么时候初始化
饿汉模式:直接实例化,谁想用谁用,直接提供使用
对象的构造方法不让别人调用
构造器有返回值返回了当前的类类型
要想单例模式

  1. 必须把构造器私有化.
    2.声明一个静态全局对象,并且初始化,

session-factory :与数据库之间的一次会话 作用就是用来造session的,整个程序中只能有一个.
Hibernate.cfg.xml---->数据库连接的配置信息---->使用dom4j对其进行解析
XXX.hbm.xml----->hibernate Mapping 映射配置文件 其存在就是为了提取表和对象的信息 同时组成sql语句
通过操作session可以操作任意对象

表 : 要么存放对象信息,要么存放对象关系
hibernate的主外键关系是配出来的,对象和对象的关系,表与表的关系都是配置出来的
根据表生成对象与对象的关系,是反向生成.
配置映射关系 列名不写 默认属性名就是列名
要想跟对应的对象有关系 就要创建对应对象或对应对象的集合

并不是所有的属性都必须和列对应,想操作谁就对应谁,其余的可以不对应
一对多关系中为了让信息不重复用set集合,必须在set集合的配置中指明inverse=true 控制反转
反转:主表与从表的关系由从表自己维护 主表不管
hibernate的本质 在对象中声明他们的关系 ,再去配置文件中指明他们的关系

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hibernate中,Session是一个重要的接口,它代表了应用程序与数据库之间的一次会话。Session对象提供了对数据库的CRUD操作,包括添加、查询、更新、删除等操作。 Session的作用主要有以下几点: 1. 提供CRUD操作:Session对象提供了对数据库的CRUD操作,可以通过Session对象进行数据的添加、查询、更新、删除等操作。 2. 数据库事务管理:Session对象提供了事务管理的功能,可以通过Session.beginTransaction()方法开始事务,Session.getTransaction().commit()方法提交事务,Session.getTransaction().rollback()方法回滚事务。 3. 缓存管理:Hibernate提供了一级缓存和二级缓存,Session对象可以管理一级缓存,提高查询性能。 4. 对象状态管理:Session对象可以管理Java对象的状态,包括脱管状态、持久状态和游离状态等,可以通过Session.save()方法将对象从脱管状态转换为持久状态,通过Session.evict()方法将对象从持久状态转换为游离状态等。 5. 延迟加载:Hibernate支持延迟加载,可以通过Session.get()方法或Session.load()方法进行延迟加载,减少数据库的访问次数。 总之,Session是Hibernate框架中的一个重要接口,它提供了对数据库的CRUD操作、事务管理、缓存管理、对象状态管理和延迟加载等功能。Session的使用可以方便地进行数据库操作,提高了开发效率和代码可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值