Hibernate课堂笔记

1.java持久化概述

      Java持久化简称(JPA), 即把程序中的临时数据持久保存到数据库中。由于jdbc开发效率低,我们就提出了对象关系映射(ORM)的概率

2.ORM

      通过java持久化提供的API来讲java的实体对象保存到数据库中。

3.Hibernate

      Hibernate的核心就是基于ORM的设计思想,对于Hibernate来说,一个java类就是数据库中的一张表,java类中的一个属性就是表中的一个字段,一个java类的实例就是一条数据

4.Hibernate框架搭建

      a.新建java项目

      b.添加hibernate相关jar到项目lib目录中

      c.新建java实体类和对于的数据库表

      d.创建实体类相关*.hbm.xml映射文件

      e.hibernate的配置文件hibernate.cfg.xml放在src下

      f.测试

5.Hibernate的增删查改

      增save()

      删除delete()

      改 update()

      查询 get(),load()

6.get()和load()的区别

      见案例

7.lazy属性 懒加载/延迟加载

      用到时才加载

lazy="true"

8.Hibernate的对象状态

      1.瞬时状态、临时状态

           只能new出来的对象

           不处于session的缓冲中(session不管理)

           对象在数据库中没有对应的记录

           只要主键在数据库中存在,就说这个对象在数据库中有对应的记录

      2.持久化状态

           1.处于session的管理范围

                 当执行session的方式(save/update/saveOrUpdate/get/load)时,这个对象就会自动转成持久状态

           2.在数据库中有对应的记录

           3.处于游离状态的对象,当对象属性进行更改的时间,提交事物更改会反映到数据中。

      3.游离状态

           1.对象不处于session管理范围,通常指session关闭后的对象状态

           2.对象在数据库中有对应的数据

 

9.hibernate 一级缓存(也叫session缓存)

      当执行session的相关方法时,入save,update,get,load等方法时,对象会自定放入一级缓存中,当session关闭缓存就会消失。

      特点:

  1. 缓存有效范围,只在当前session范围,缓存时间很短,作用范围小
  2. 一级缓存,可以在短时间内多次操作数据库的时候,提升效率,减少对数据库的访问次数
  3. 在提交事物时,hibernate会同步缓存到数据库中,会对比缓存数据和数据库数据是否一致,如果一致不修改数据库,不一致提交到数据库执行update语句。

session.clear();清空缓存

session.evict(user1);清除指定缓存

 

10.实体关系(表与表的关系)

      多对一  学生 对  班级

      一对多  班级   对 学生

双向一对多

      多对多    学生   对 老师

      一对一  用户 对  身份证

 

11.控制反转

      inverse="true" :控制反转,把主导权给另一方 就会失去外键维护的权利

 

转载于:https://www.cnblogs.com/jjqq0921/p/10194646.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值