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线程局部变量,作用是为每一个使用该变量的线程都提供一个变量值的副本,并且每个线程都可以独自改变自己的副本,而不会和其他线程冲突
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。