伟大的信息管理与信息系统专业,万恶的信息管理与信息系统专业。说这句话我是有根据的:因为这个专业雄心勃勃的想把自己的子弟培养成全面发展的人才但是结果则不然。两方面的原因:一部分在学生,但是一部分在这个专业。让我极其郁闷的就是这个学期我们开设了《财政学》这门课程,天大的噩耗呀(对于我来说,说这种话不到有任何目的性)。索性这门课我立志就没有想学,在老师甜美的声音的陪伴下,我又熟悉了一遍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. 元胞自动机:更接近人类思考的智能模型
  2. 知乎高赞:字节总监的开发手记!
  3. Linux和optee双系统中1020-1023号的中断号的使用
  4. Centos用cron定时执行PHP
  5. mysql班次和排班怎么设计表_java 员工轮询值班排班 开发设计(mysql+redis)
  6. USACO Training Section 1.2 双重回文数 Dual Palindrom
  7. 就linux学习的一点感受,学习linux的体会
  8. 【ZOJ - 2972】Hurdles of 110m (dp)
  9. Python(4)--Pycharm安装、使用小技巧
  10. 海洋CMS仿RiPro主题风格自适应模板
  11. sql行转列 列数据不定 sql交叉报表实例
  12. 2013-01-09 13:31 IE不支持textarea的maxlength属性,Firefox支持
  13. nginx+Keeplive高可用集群部署
  14. PCB板材及生产流程详述
  15. Deepin+win7双系统启动项问题解决
  16. 基于微信小程序的校园第二课堂活动报名系统+后台管理系统(Springboot+mysql)-JAVA.VUE【毕业设计、论文、源码、开题报告】
  17. HTML5+CSS3小实例:发光文字悬停特效
  18. 免Root获取WIFI密码
  19. oceanbase导入csv文件异常
  20. C++ Builder 由于找不到 CC32C260MT.DLL、rtl260.bpl、vcl260.bpl,无法继续执行代码

热门文章

  1. matlab将模型解封装,模型保护 - MATLAB Simulink - MathWorks 中国
  2. knn算法python理解与预测_理解KNN算法
  3. java验证xml格式是否正确的是_spring源码附录(1)java实现对XML格式的验证
  4. find linux 目录深度_浪里淘沙,详解Linux系统中Find命令的实用技巧
  5. leetcode619. 只出现一次的最大数字(SQL)
  6. leetcode283. 移动零 比官方更好的解法。
  7. redis——sentinel
  8. 阿里Java编程规约(控制语句)
  9. ubuntu apache配置负载均衡篇(一)
  10. fastText初探