hibernate的一级缓存

一级缓存的生命周期:因为hibernate的一级缓存是存储在session中,所以它的生命周期跟session一样。
一级缓存的安全性:因为一级缓存存储的数据都是私有数据,并且一级缓存存储的数据在session中,所以它的数据是线程安全的。
怎样把数据放到一级缓存中?使用session.save()/update()/get()/load(),
关于代码的测试,就是使用同样的方法再进行相同的操作,看他们会不会发出同样的sql语句。
怎样把数据库中的信息同步到缓存中?使用session.refresh() ,这个方法的作用 就是再次向数据库中发送请求,读取数据

session.flush的作用:
先判断要操作的对象是否为持久化对象,
是:根据操作,检测在执行完”unit method“后该对象及其级联对象的变化,然后发出相应的sql语句。
否:发出insert语句。

如果使用hibernate操作存储一个百万级条记录,可以使用flush方法来
刷新记录,然后再配合session.clear()来防止内存溢出。

都在说hibernate的一级缓存缓存很强大,我想强大就强大在,没有接触新的api,就在我们不知不觉中操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值