hibernate实体的三个状态

hibernate实体的三个状态
1,瞬时状态:和数据库没有关系,实体只存在于内存中
2,持久状态:实体在内存中存在,数据库中也存在(特点:内存和数据库中同步)
3,游离状态:在内存中存在,在数据库中可能存在

持久化状态内部实现解剖:
一;首先归功于hibernate的缓存:
1它默认支持一级缓存,一级缓存是session级别
2可插拨式的缓存,二级缓存是sessionFactory级别的缓存
二:首先在执行添加add方法之前,定义user身份为A,在add方法执行时会把A放到DB数据库中同时user为A的身份也会放到一级缓存中去,(一级缓存为session,事务未关闭前都会存在)。然后重新定义user定义为身份B。此时缓存中的user也变成B。执行事务提交之前由于缓存要和数据库同步的特点。所以提交事务时会发送一个update语句把数据库中的A变成B。故在提交事务之前,一切都是缓存的内容被更改,先不会操作数据库。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值