hibernate略知一二

  实体对象的生命周期

          实体对象

                      是指hibernate的o/r映射关系中的域对象,即o/r中的o;

          实体对象的生命周期

                      是指实体对象由产生到被gc(回收站)回收的一段过程,在这段过程中实体对象有三种状态。自由状态、持久状态、游离状态。

          实体对象的三种状态

                    自由状态的特征:1、不处于session的缓存中,不被任何一个session实例关联。

                                          2、在数据库中没有对应的记录。

                    持久状态的特征:1、处于session的缓存中,与一个session实例相关联。

                                          2、在数据库中有相对应的记录。

                    游离状态的特征:1、是由持久状态转换过来的,在数据库中还有可能存在与之对应的数据。

                                          2、不再位于session的缓存之中。

         vo(value object)与 po(persistent object)

                   vo:即将处于自由状态和游离状态的实体对象称为值对象,即为vo

                   po:将持久化状态的实体对象称为持久对象,即为po。

                   vo与po的区别

                         1:vo是相对独立的对象,处于非管理状态。

                         2:po是hibernate纳入其管理容器的对象,代表与数据库中某条记录对应的hibernate实体,po的变化在事务提交时将反应到实际数据库中。

                         3:如果一个po与其对应的session实例分离,即转变为vo。

         session接借口详解

                    是hibernate向应用程序提供的操作数据库的最主要借口。提供了最基本的保存,更新,删除,加载java对象的方法

                    清理缓存:能够在某些时间点,按照缓存中对象的变化来执行相关的sql语句,来同步更新数据库的过程。(flush)

         threadlocal模式的解决方案

                  threadlocal线程局部变量,作用是为每一个使用该变量的线程都提供一个变量值的副本,并且每个线程都可以独自改变自己的副本,而不会和其他线程冲突

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。