代码改变世界

3.6

2020-03-06 17:48  Robortxin  阅读(292)  评论(0编辑  收藏  举报

依赖的方式有: set,构造器,接口注入。

实体对象的三种状态:瞬时态,持久态,游状态。

瞬时状态 :

当我们通过Java的新的关键字来生成一个实体对象时,这时这个实体对象就处于自由状态,
客户只是通过JVM获得了一块内存空间,还并没有通过会话对象的保存()方法保存进数据库,因此也就还没有纳入的Hibernate的缓存管理中,也就是说客户对象现在还自由的游荡于Hibernate的缓存管理之外。所以我们可以看出自由对象最大的特点就是,在数据库中不存在一条与它对应的记录。
瞬时对象特点:(1) 不和 会话 实例关联(2) 在数据库中没有和瞬时对象关联的记录

持久态:持久态对象的实力在数据库中有对应的记录,并拥有一个持久化标识,对持久态对象进行delete操作后,数据库中对应的记录会被删除,那么持久态对象与数据库记录不在存在对应关系,持久态对象变为瞬时态。

游离态:当session进行了close(),clear(),evict()或flush()后,实体对象从持久态变为游离态,对象虽然拥有持久和与数据库对应记录一致的标识值,但是因为对象已经从会话中清除掉,对象不在持久化管理之内,所以处于游离态。