hibernate一级缓存快照 刷新

本文介绍了Hibernate的一级缓存中的快照概念,快照作为一级缓存数据的备份,确保数据库数据与一级缓存同步。通过`refresh`方法可以强制使一级缓存数据与数据库保持一致,执行SELECT查询更新缓存。示例代码展示了在修改一级缓存内容后,提交事务时会自动刷新并更新数据库。

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

快照:与一级缓存一样的存放位置,对一级缓存数据备份。保证数据库的数据与 一级缓存的数据必须一致。如果一级缓存修改了,在执行commit提交时,将自动刷新一级缓存,执行update语句,将一级缓存的数据更新到数据库。


1.1.1 refresh 刷新

refresh 保证 一级缓存的数据 与 数据库的数据 保持一致。将执行select语句查询数据库,将一级缓存中的数据覆盖掉。只要执行refresh都将执行select语句。


1.1.2 快照演示(一级缓存刷新)

@Test

public void demo05(){

//快照

Session session = factory.openSession();

session.beginTransaction();

User user = (User) session.get(User.class, 5);  //--select

System.out.println(user);

//修改持久态对象内容(一级缓存内容)--默认在commit时,将触发update语句。

user.setUsername("rose2");

session.getTransaction().commit();

session.close();

}



1.1.2 一级缓存什么时候刷新  默认情况提交(commit())刷新。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值