ly133333333333333

三态:

自由态:用new创建的对象,它没有持久化,没有处于Session中,处于此状态叫自由态( 临时状态(Transient))

持久态:已经持久化,加入到了Session缓存中,并且在数据库中有相应数据,处于此状态叫持久态(Persistent)

游离态:持久化对象脱离了Session的对象。如Session缓存被清空的对象,处于此状态叫游离态(Detached)

 

游离对象和临时对象异同:

两者都不会被Session关联,对象属性和数据库可能不一致;

游离对象有持久化对象关闭Session而转化而来,在内存中还有对象所以此时就变成游离状态了;

 

三态之间的转换方法:

①如何成为自由态?对象通过构造方法成为自由态;持久态和游离态则通过session的delete方法成为自由态

②如何成为持久态?对象可以由session的load或get方法直接成为持久态;自由态对象可以通过save,saveOrUpdate或persist方法成为持久态;游离态对象则可以通过update,saveOrUpdate成为持久态

③如何成为游离态?游离态只能由持久态转换而来,通过close或clear方法实现。

转自:http://www.cnblogs.com/koal/p/4300016.html

 

分类:

技术点:

相关文章:

  • 2021-08-02
  • 2021-06-18
  • 2021-04-06
  • 2021-10-06
  • 2021-09-14
  • 2021-06-03
猜你喜欢
  • 2021-10-15
  • 2021-09-28
  • 2022-01-28
  • 2021-09-20
  • 2021-10-28
  • 2021-11-15
  • 2021-08-01
相关资源
相似解决方案