前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >day30_Hibernate复习_02

day30_Hibernate复习_02

作者头像
黑泽君
发布2018-10-11 10:43:05
3040
发布2018-10-11 10:43:05
举报
文章被收录于专栏:黑泽君的专栏

一、对象的三种状态 和 一级缓存

对象的三种状态:     瞬时状态:没有ID,不在Session缓存中     持久状态:有ID,在Session缓存中     游离状态:有ID,不再Session缓存中 特性:持久状态的对象,会自动将对象的变化同步到数据库中。 一级缓存:     是线程级别的缓存,在Session对象中。     本质:Map集合。     缓存的内容:对象。     目的:减少sql语句发送,提高效率。 快照:在事务提交之前,先对比快照与缓存中的对象,来决定是否需要更新数据库。 细节:save和persist的区别?     HQL、SQL、Criteria查询与缓存的关系 其他api:     evict(); 将缓存中的对象移除     clear(); 清空一级缓存     refresh(Object); 刷新 => 强制刷新缓存中的对象 => (可以用来解决缓存与数据库数据不同步的问题(局部解决))     flush(); 对比快照,并提交缓存对象     saveOrUpdate(Object); 可以同时完成保存或更新操作

二、多表关系:一对多 和 多对一

关系的配置: 对象:在一的一方引用多的一方的集合。          在多的一方,引用一的一方的对象。 配置:

一方:         <set name="一的一方属性的集合名称" >           <key column="多的一方的外键名称" />           <one-to-many class="多的一方所属对象的完整类名" />         </set> 多方:         <many-to-one name="多的一方属性的引用名称" column="多的一方的外键名称" class="一的一方所属对象的完整类名" />

操作:       inverse:是否将维护外键关系交给对方。注意: 只有一的一方可以放弃维护关系,多的一方不能放弃维护关系。       cascade:         save-update:级联保存和级联修改         delete:级联删除         delete-orphan:孤儿删除,删除主表不引用的对象,示例:孤儿删除(孤子删除),当订单为孤儿时,一并删除。客户仍存在。         all:save-update + delete         all-delete-orphan:save-update + delete + delete-orphan

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-07-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、对象的三种状态 和 一级缓存
  • 二、多表关系:一对多 和 多对一
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档