Hibernate之刷新点与同步点
来源:互联网 发布:淘宝装修自定义区 编辑:程序博客网 时间:2024/04/30 10:50
Hibernate之刷新点与同步点
刷新与刷新点
刷新:对session缓存数据的刷新,也就是对堆内存数据的更新
刷新点:就是执行刷新操作的时间点,也就是当程序中出现了Update或者delete操作时,Hibernate不会执行相应的SQL语句,而是要等到了刷新点才执行
同步与同步点
**同步:就是将session数据同步到数据库
同步点:执行同同步操作的时间点**
session的同步点只有一个——事务的提交
session中数据的改变不会立即与数据库同步,而是要在执行commit操作后再同步
session的刷新点主要有三个
1)、执行Query查询
2)、session.fulsh()操作
3)、执行事务的提交
看看过程
测试代码
public void test(){ //获取session 对象 Session session = HbnUtils.getSession(); //开启事务 session.beginTransaction(); try { //获取一个对象 Student student = session.get(Student.class, 1); //执行delete操作 session.delete(student); //制造一个刷新点 session.createQuery("from Student").list(); //提交事务 //session.getTransaction().commit(); } catch (Exception e) { //回滚事务 session.getTransaction().rollback(); e.printStackTrace(); } }
在get方法处设置一个断点
可以看到,执行完delete操作后,Hibernate并没有立刻执行相应的SQL语句,继续下一步
可以看到再到达刷新点时,delete才得以执行,继续执行完程序
查看数据库发现数据并没有改变(因为commit被注释了),也就是数据并没有同步到数据中
需要注意的是:并不是所有操作到了刷新点都会执行相应的SQL语句,当执行的是update操作时,到了刷新点是否执行Update SQL语句取决于当前数据与快照数据是否一致,如果不一致,就会执行Update语句,如果一致即使是到了刷新点也不会执行Update语句
0 0
- Hibernate之刷新点与同步点
- UFT要点之同步点
- ajax的同步与异步,异同点
- Hibernate乐观锁之Timestamp注意点
- Android UI控件之Gallery +GridView实现图片与小圆点同步变化
- 什么是同步点
- QTP 同步点设置
- QTP 同步点
- Selenium WebDriver 同步点
- QTP 同步点设置
- QTP同步点方法
- Hibernate学习之------>Hibernate性能优化的几点建议
- 数据采集与埋点简介之 代码埋点、可视化埋点与无痕埋点
- Gallery + GridView 实现图片与小圆点同步变化
- java中锁与同步需要注意的几点
- QTP中Wait与同步点的区别
- SeekBar 垂直,进度点与thumb指示同步对齐
- QTP中与时间同步点:Sync、Wait、Waitproperty、Exist
- tomcat警告setting property 'debug' to '0' did not find a matching property
- 欢迎使用CSDN-markdown编辑器
- Java导出Excel数据
- 线程同步(互斥锁与信号量的作用与区别)
- 25.Reverse Nodes in k-Group
- Hibernate之刷新点与同步点
- 城堡问题
- ViewStub和Gone区别
- 商人的诀窍
- LeeCode题目:169. Majority Element Add to List
- json在springMVC中的使用
- 4_线性表_链式存储
- 《Java高并发程序设计》学习 --4.2 Java虚拟机对锁优化所做的努力
- linux yum及yum仓库