Hibernate的持久状态

Hibernate的对象状态

对象的状态一般是指对象的一组属性的值,这里的状态是指对象处于什么存储介质中.
用于存储对象存储介质有三个:普通内存(与hibernate无关),Session缓存,数据库.
(1)瞬时态:transient状态,对象在内存中存在,但在DB中无记录,与Session无关,是个过渡状态
(2)持久太:persistent状态,在内存中存在,DB有记录,与Session无关,在Session中有对象的副本,
(3)游离态,detached状态,在内存中存在,在DB中有记录,但是与Session无关
(4)无名态:在内存中不存在,但是在DB中有记录,与Session无关.

hibernate对象的状态?
    User u=new User("小兰",28);临时态
    session.save(u);-----------持久态
    ts.commit()----------------
    session.close()----------游离态

状态装换中常用的方法
save():将瞬时状态对象同步在DB中,
update:将游离态对象同步到DB中.
delete():将指定的对象从session中删除,同时也删除DB中的该数据.
close():关闭Session对象
clear():清空Session缓存
saveOrUpdate():根据参数对象的id属性是否为null来判断是执行保存还是更新操作.
evict():将指定对象仅仅从session中删除,但不删除DB中的该数据
load()与get():将无名状态对象转换为持久态对象.

如何清除一级缓存?
clear()
evict()

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值