Hibernate学习

Hibernate中对象有三种状态:

Transient(瞬时)、persistent(持久)、detached(托管)。三种状态。

瞬时状态:

由new命令开辟的java对象,也就是平时所熟悉的java 对象。它不和数据库中的数据相关联,可以通过session的save()或saveOrUpdate()方法将一个瞬时对象鱼数据库相关联。这个瞬时对象就成薇了持久话对象。

持久化状态:

持久化的对象实例在数据库中有相应的挤了,并拥有一个持久化标示(identifier),持久的实例可能是刚被保存的或刚被加载的。另外如果一个瞬时对象被持久化对象引用,则该对象也会自动变成持久对象。如果使用delete()方法,它就会变成瞬时对象。使用delete()方法后将删除数据库中与对象管理的记录,对象与数据库不再有任何的联系。

脱管状态:

当一个session执行close(),clear(),evict()之后,持久对象就变成脱管对象,他在本质上与瞬时对象相同,只不过比瞬时对象多了数据标示的id 值。它可以通过update(),saveOrUpdate(),lock()等方法再度与持久层关联。

 

 

你可能感兴趣的:(Hibernate)