admin 管理员组

文章数量: 1184232


2024年3月28日发(作者:borderline什么意思)

Hibernate的工作流程:

1. 读取并解析配置文件

2. 读取并解析映射信息,创建SessionFactory

3. 打开Sesssion

4. 创建事务Transation

5. 持久化操作

6. 提交事务

7. 关闭Session

8. 关闭SesstionFactory

Hibernate中bean 的三种状态

Hibernate对象分为三种状态:瞬时态(new 出来的或者实例化时session无关的),

持久态(session关联)与游离态(曾经与session关联)。其中持久态的对象是PO,瞬

时态、托管态的对象可作为VO。(PO不应该直接用作v层)所以在使用中应该注意三态

的转化。如:在进行数据操作的一系列过程中,save或者saveorupdate操作可以把瞬时

态或者游离态的对象转换成持久态,而delete或者session的close、flush等操作将会

把session相关联的持久态对象转换成游离态。

Hibernate对象的状态和生命周期

使用new操作符初始化的对象是一个瞬时态的(Transient)(没有任何跟数据库表相

关联的行为,只要应用不再引用这些对象,它们的状态就会丢失,并由垃圾回收机制回收);

瞬时态对象经过save(),saveOrUpdate会转换成持久态,由session统一管理,持久态

对象的操作与数据库同步;持久态对象经过evict(),close(),clear()等会转换成游离态,这

时虽然被持久化,但是不在session缓存中,通过lock(),update(),saveOrUpdate又

会转换成持久态。

通过get(),load(),find(),iterate()获得的对象直接就是持久态的。

struts2的主要工作流程是这样的:

首先有一个http请求,这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个


本文标签: 对象 状态 操作 读取 应该