为了账号安全,请及时绑定邮箱和手机立即绑定

关于hibernate的持久化?

关于hibernate的持久化?

呼啦一阵风 2018-10-16 14:10:14
如何理解hibernate的持久化,是否可以理解为我把数据库中的数据放到一个有生命周期的对象里,就是持久话?、、
查看完整描述

1 回答

?
弑天下

TA贡献1818条经验 获得超7个赞

你的理解反了,持久化顾名思义就是把缓存中的东西放到数据库中使之持久.对于需要持久化的对象,它的生命周期分为三个状态:临时状态,持久化状态,游离状态.
临时状态:刚刚用new语句创建,没有被持久化,不处于session的缓存中.处于临时状态的java对象被称为临时对象.
持久化状态:已经被持久化,加入到session的缓存中.处于持久化的java对象被称为持久化对象.
游离状态:已经被持久化,但不处于session的缓存中,处于游离状态的java对象被成为游离对象.
持久化对象的特征:
. 位于一个session事例的缓存中,可以说持久化对象总是被一个session事例关联
. 持久化对象和数据库中的相关记录对应
. Session在清理缓存时,会根据持久化对象的属性变化来同步更新数据库
. Session的save()方法把临时状态变为持久化状态.
. Session的update() ,saveOrUpdate()和lock()方法使游离状态变为持久化状态.

查看完整回答
反对 回复 2018-11-16
  • 1 回答
  • 0 关注
  • 674 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信