Posted in 面试题 onAugust 31, 2013
1>.暂态(瞬态)
没有纳入持久化上下文,无主健值,数据库中无对应的记录.
2>.受管状态(持久化状态)
纳入了持久化上下文,有主健值,数据库中有对应的记录.
3>.游离态
没纳入持久化上下文,有主健值,有无记录不确定.
4>.删除状态
调用EntityManager.remove()方法时,实体并没被删除,而是处于这种状态.
纳入了持久化上下文,数据库中会删除记录,当调用persist()方法可以重新恢复受管状态.
persist() 或find() 或remove() clear() 或close()
暂态———————————————->受管状态———————————->游离态
merge() remove()
游离态—————–>受管状态———————>删除状态
refresh()将受管状态的对象同步到数据库
flush()将数据库里同步的记录更新受管状态的对象
没有纳入持久化上下文,无主健值,数据库中无对应的记录.
2>.受管状态(持久化状态)
纳入了持久化上下文,有主健值,数据库中有对应的记录.
3>.游离态
没纳入持久化上下文,有主健值,有无记录不确定.
4>.删除状态
调用EntityManager.remove()方法时,实体并没被删除,而是处于这种状态.
纳入了持久化上下文,数据库中会删除记录,当调用persist()方法可以重新恢复受管状态.
persist() 或find() 或remove() clear() 或close()
暂态———————————————->受管状态———————————->游离态
merge() remove()
游离态—————–>受管状态———————>删除状态
refresh()将受管状态的对象同步到数据库
flush()将数据库里同步的记录更新受管状态的对象
实体的生命周期
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Tags in this post...
Reply on: @reply_date@
@reply_contents@