实体的生命周期
编辑: 面试啦 发布时间: 2023-08-29 00:55:44
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()将数据库里同步的记录更新受管状态的对象
词条:ejb面试题
上一篇:JPA的特点 下一篇:EJB实例的生命周期
面试题库导航
- C++面试题
- JAVA面试题
- Oracle面试题
- MySQL面试题
- Linux面试题
- 网络工程师面试题
- 网管面试题
- 软件工程师面试题
- PHP面试题
- .net面试题
- 软件测试面试题
- EJB面试题
- Spring面试题
- Javascript面试题
- Python面试题
- QTP面试题
- Servlet面试题
- J2EE面试题
- Database面试题
- ASP面试题
- Unix面试题
- Loadrunner面试题
- 通信面试题
- 嵌入式面试题
- Ruby面试题
- Delphi面试题
- Mobile开发面试题
- SOA面试题
- JAVA面试题面试题
- 研发工程师面试题
- 软件架构师面试题
- 系统工程师面试题
- Android面试题
- JAVA程序员
- C#面试题