Hibernate实体对象的生命周期
实体对象的3种状态
Transient(自由状态)
所谓的Transient,即实体对象在内存中自由存在,它与数据库中的记录无关.
Persistent(持久状态)
所谓的Persistent,即Hibernate实体对象处于由Hibernate框架所管理的状态,这种状态下,实体对象的引用被纳入了Hibernate实体容器中加以管理.
处于Persistent状态的对象,其变更将由Hibernate持久化到数据库中. 简而言之,如果一个实体对象与某个Session实例发生了关联,并处于对应Session的有效期内,那么它将处于Persistent状态.
Detached(游离状态)
处于Persistent状态的对象,其对应的Session实例关闭之后,那么些对象就处于"Detached"状态.在数据库中存在对应的记录. 同时,三种状态可以相互转换.
Hibernate实体对象的识别
◆实体身份识别(Data Identity)
◆引用比较(==)
◆内容比较(equals)
在站数据库的角度,我们认为,在一个库表结构中,主键可以惟一确定一条记录,那么拥有同样主键的实体对象,则认为他们等同.在Hibernate中,这个规则亦成立.
【编辑推荐】