伟大的信息管理与信息系统专业,万恶的信息管理与信息系统专业。说这句话我是有根据的:因为这个专业雄心勃勃的想把自己的子弟培养成全面发展的人才但是结果则不然。两方面的原因:一部分在学生,但是一部分在这个专业。让我极其郁闷的就是这个学期我们开设了《财政学》这门课程,天大的噩耗呀(对于我来说,说这种话不到有任何目的性)。索性这门课我立志就没有想学,在老师甜美的声音的陪伴下,我又熟悉了一遍hibernate,废话少说谈一下这一下午的收获吧。

1. hibernate的unsaved-value属性

unsaved-value是关系到Hibernate对象save or update的配置属性,它的可选值有三个:null,none,any。

a) null的意思是:如果对象的主键是null的话,则对对象采用save()方法,如果对象的主键不是null的话,则对对象采用update()的方法。

b) none的意思是:不论哪种情况对象的主键都不可能为none值,所以这种情况hibernate采取的方法总是save()。

c) any的意思是:any任何值,当然对象的主键不会取任何值之外的值,所以这种情况hibernate采取的方法总是update()。

2. 由此我想到了hibernate的三种状态的对象:

a) transient---水态的对象:刚刚被创建,没有持久化的对象,自然不会与数据库中的任何主键对应。

b) persistent---持久化的对象。对象被创建以后经过了持久化,数据库中有相应的主键与之对应。但是还有一个要注意的就是这种对象的状态保持在session未关闭之前。这是一个和下面的对象状态容易混的地方。

c) detached---托管的对象。这里的托管是脱离的session对这个对象的管理,这种对象的状态处在session已经关闭,但是java垃圾回收器还未将此对象回收。

hibernate三种对象状态我的理解是这样的,其实我也是懵懵懂懂。希望高人指点啦....

3. hibernate主键的选择:hibernate的主键尽量使用不与业务相关的字段,hibernate主键类型的选择也应给尽量使用对象类型(Integer,String....),而不使用基础类型(int,long....)。

4. hibernate的缓存机制:

一级缓存:一级缓存是session级别的缓存,这种缓存不需要配置,是hibernate自动提供的。

二级缓存:二级缓存是SessionFactory级别的全局缓存,这种缓存是需要配置的。缓存机制对于一个系统来说是非常重要的,这涉及到了一个系统的新能问题。缓存技术也是一门程序员必须掌握的技术,如果缓存处理的好,那么会大大提高系统的性能,相反会降低系统的性能。(水平有限)

其实今天下午上课还看了好多东西呢,但是都是些配置的东西。因为自己的水平不够不敢多说了,hibernate不是用来使用的东西,而是用来领悟的东西!!努力学习吧....

转载于:https://www.cnblogs.com/focusj/archive/2011/03/01/2057623.html

Hibernate读书笔记相关推荐

  1. Hibernate读书笔记---继承映射

    对于面向对象的程序设计语言,继承.多态是两个最基本的概念.Hibernate的继承映射可以理解两个持久化类之间的继承关系. Hibernate支持几种继承映射策略,不管哪种继承映射策略,Hiberna ...

  2. Java 内存分配——Thinking in Java 4th 读书笔记

    做开发多年,一直忙于项目,从没好好的整理知识,从现在开始,尽量每周多抽时间整理知识,分享在博客,在接下来的博客中,我将为大家分享我读<Java编程思想4th>英文版读书笔记,一来便于知识的 ...

  3. 领域驱动设计DDD之读书笔记

    查看文章   领域驱动设计DDD之读书笔记  转载原地址:http://hi.baidu.com/lijiangzj 2007-08-17 16:53 一.当前Java软件开发中几种认识误区 Hibe ...

  4. JAVA WEB整合开发王者归来 -- 读书笔记 by CZF 完整版

    JAVA WEB整合开发王者归来 -- 读书笔记  目录 第1章 概述. 1 第2章 搭建web开发环境. 1 第3章 Servlet技术. 1 第4章 深入JSP技术. 7 第5章 会话跟踪. 12 ...

  5. 《Spring Boot+Vue全栈开发实战》读书笔记

    写在前面 嗯,回家处理一些事,所以离职了,之前的公司用开源技术封装了一套自己的低代码平台,所以之前学的spring Boot之类的东西都忘了很多,蹭回家的闲暇时间复习下. 笔记整体以 Spring B ...

  6. struts2技术内幕读书笔记1

    本人程序小屌丝一枚,最近闲来无事,着手开始总结以前学习使用的ssh框架,因为常常觉得身体被掏空(-.-) ,开个小玩笑,以前可能能够应用框架进行开发但是对于框架的核心理念和实质没有完全的把握,所以特地 ...

  7. 代码精进之路:从码农到工匠读书笔记

    代码精进之路:从码农到工匠读书笔记 第一章技艺 代码命名规范的意义: 由此可见,事物的复杂程度在很大程度上取决于其有序程度,减少无序能在一定程度上降低复杂度,这正是规范的价值所在.通过规范,把无序的混 ...

  8. 【读书笔记】《代码不朽》

    [<代码不朽>读书笔记] 第一章:简介 "简单"原则: 对每次提交负责. 第二章:函数要短 [要求]<=15行 [做法] 提取方法 替换为方法对象 第三章:逻辑分 ...

  9. 《淘宝技术这十年》读书笔记 (二).Java时代的脱胎换骨和坚若磐石

    马云说过"一个好的东西往往是是说不清楚的",姑且不论这句话的对与错.但我真的很佩服<淘宝技术这十年>这本书的作者子柳,能够通过淘宝的一些故事,按照时间顺序和IT发展的各 ...

最新文章

  1. 使用fliter实现ie下css中rgba的效果
  2. (转载)netstat -r查看路由表时Flags的含义
  3. 在Sqlserver下巧用行列转换日期的数据统计
  4. java项目包创建顺序_java程序初始化的顺序
  5. PE结构延迟加载导入表
  6. VScode像Codeblocks一样,不启动调试和Debug直接运行
  7. 【计蒜客习题】消除字符串
  8. 字符设备驱动高级篇4——设备类(自动创建和删除设备文件)相关代码分析
  9. linux-基本权限-chown-chod
  10. java实现ftp连接、登陆、上传、下载、删除文件、获取目录、文件列表
  11. 微信小程序实现活动倒计时
  12. 无法将数值CLSID写入 \Software\Classes\PROTOCOLS\Handler\ms-help。
  13. MRCP协议-提供语音识别(ASR)与语音合成服务(TTS)
  14. CAD中角度如何平分、CAD特性匹配的作用是什么?
  15. JFinal在线官方文档
  16. <mvc:annotation-driven/>标签的使用
  17. 线下门店如何自动统计每日业绩
  18. 2019年最新最全的医疗网站优化方案
  19. GitHub Education Tools (学生包)申请教程 Digital Ocean 50美元优惠码使用教程
  20. 海外游戏代投需要注意的

热门文章

  1. nutch mysql solr_Nutch2.1+mysql+solr3.6.1+中文网站抓取
  2. 镇江 linux技术支持,东云镇江服务器
  3. linux 挂在iso文件,linux 挂载iso文件安装文件 与 网络yum的搭建
  4. zynq linux opencv效率,2 - 基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结
  5. android 投票功能,腾讯新闻Android客户端更新 加入投票功能
  6. leetcode76 最小覆盖子串
  7. leetcode237 删除链表中的节点(你意想不到的做法,注意细节)
  8. 树和二叉树【数据结构】
  9. C++(STL):28 ---关联式容器map用法
  10. 单元测试中使用Mockito模拟对象