PO:Persistent Object 持久化对象。
持久化对象,在Hibernate经常会遇见这样的概念。Hibernate实体状态有三种状态:瞬时态,持久态,游离态。
1).瞬时态(暂态):(Transient)实体在内存中自由存在,它与数据库记录无关。po在DB中无记录(无副本),po和session无关(手工管理同步)。
eg. Customer customer=New Customer();customer.setName("eric");这里的Customer对象与数据库中的数据没有任何关联。
2).持久态(Persistent):实体对象处于Hibernate框架的管理之中。 po在DB中有记录,po和session有关(session自动管理同步)。
3).游离态(脱管态):(Detached)处于Persistent状态的实体对象,其对应的session实例关闭后,那么此时的实体对象处于Detached态。
po在DB中有记录,po和session无关(手工同步管理)
无名态:po处于游离态时被垃圾站回收了(垃圾回收机制),没有正本,只有DB中的副本。
po处于瞬时态时被垃圾站回收了,则死亡。(唯一可以死亡的状态)
实质上,这三种状态是:持久对象的正副本和同步的关系。