hibernate的持久化
如何理解hibernate的持久化,是否可以理解为我把数据库中的数据放到一个有生命周期的对象里,就是持久话?、、...
如何理解hibernate的持久化,是否可以理解为我把数据库中的数据放到一个有生命周期的对象里,就是持久话?、、
展开
展开全部
你的理解反了,持久化顾名思义就是把缓存中的东西放到数据库中使之持久.对于需要持久化的对象,它的生命周期分为三个状态:临时状态,持久化状态,游离状态.
临时状态:刚刚用new语句创建,没有被持久化,不处于session的缓存中.处于临时状态的java对象被称为临时对象.
持久化状态:已经被持久化,加入到session的缓存中.处于持久化的java对象被称为持久化对象.
游离状态:已经被持久化,但不处于session的缓存中,处于游离状态的java对象被成为游离对象.
持久化对象的特征:
. 位于一个session事例的缓存中,可以说持久化对象总是被一个session事例关联
. 持久化对象和数据库中的相关记录对应
. Session在清理缓存时,会根据持久化对象的属性变化来同步更新数据库
. Session的save()方法把临时状态变为持久化状态.
. Session的update() ,saveOrUpdate()和lock()方法使游离状态变为持久化状态.
临时状态:刚刚用new语句创建,没有被持久化,不处于session的缓存中.处于临时状态的java对象被称为临时对象.
持久化状态:已经被持久化,加入到session的缓存中.处于持久化的java对象被称为持久化对象.
游离状态:已经被持久化,但不处于session的缓存中,处于游离状态的java对象被成为游离对象.
持久化对象的特征:
. 位于一个session事例的缓存中,可以说持久化对象总是被一个session事例关联
. 持久化对象和数据库中的相关记录对应
. Session在清理缓存时,会根据持久化对象的属性变化来同步更新数据库
. Session的save()方法把临时状态变为持久化状态.
. Session的update() ,saveOrUpdate()和lock()方法使游离状态变为持久化状态.
展开全部
没有一堆废话
1
对于经常需要频繁查询的数据,经常需要物理连接,因此我们需要一个缓冲,保存那些数据,可以减少数据库io
2
所谓持久化是双向的,即业务程序产生的数据一定要有长期保存的物理媒介-可以选数据库。
而媒介中的数据需要映射到业务数据模型,可以称为业务数据持久化。
3
持久化的形式
是关系型数据库中的表,也可以是xml,也可以是object等形式。hibernate是针对rdbms中的表
设计的框架
4
持久化处理可以是数据持久化,还可以是关系持久化,如面向对象的关系
有依赖关系、包含关系、继承关系等多种关系,而rdbms只有一种表的主外键建立的一对一、一对多、多对多集中实体关系,因此持久化还包含了将面向关系,映射到rdbms上的关系,反过来看也一样。
5
其他还有一些,祝你好运!
1
对于经常需要频繁查询的数据,经常需要物理连接,因此我们需要一个缓冲,保存那些数据,可以减少数据库io
2
所谓持久化是双向的,即业务程序产生的数据一定要有长期保存的物理媒介-可以选数据库。
而媒介中的数据需要映射到业务数据模型,可以称为业务数据持久化。
3
持久化的形式
是关系型数据库中的表,也可以是xml,也可以是object等形式。hibernate是针对rdbms中的表
设计的框架
4
持久化处理可以是数据持久化,还可以是关系持久化,如面向对象的关系
有依赖关系、包含关系、继承关系等多种关系,而rdbms只有一种表的主外键建立的一对一、一对多、多对多集中实体关系,因此持久化还包含了将面向关系,映射到rdbms上的关系,反过来看也一样。
5
其他还有一些,祝你好运!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询