* 米小國 * 奇想世界☆.╯http://www.caterpillar.onlyfun.net/phpBB2/ 里面下载的“Hibernate Gossip - 簡介Hibernate”
这个里面提供了Hibernate的基础知识,步骤又是循序渐进,再把例子做完,估计对Hibernate应该有个比较初步的认识,并可以在项目中运用了。
1 是本好书,入门看懂,例子做完,这是基本。而且,在使用Hibernate的过程中,还可以回过头再看看入门,内容组织得比较有层次感,只是因为是台湾同胞写的,读起来不容易适应,因此对Hibernate有些熟悉后重读,就可以屏蔽掉语言上的差异性,更多理解文章内涵。
× Hibernate是ORM(Object/Relational Mapping)的解决方案。
× Hibernate所需要的类别库
× 提供JDBC连接
2 继承映射:父类与子类
× 每个对象一张表,各自单独映射。这样映射方便,但是有重复数据,不能多态操作。
× 所有对象一张表,有个字段专门用于区别对象;
× 每个对象一张表,共享主键,除主键外没有重复数据,子类属性通过父类扩展查询。
3 集合映射:主要是提供这几种方式下Hibernate如何处理,都是对象中嵌入对象。
× Component映射、Set映射、List映射、Map映射
× Set与Map排序:可以使用Java排序,也可以使用DB排序。
× Component中集合映射:就是对象中有集合,集合中再存储对象。
× Hibernate对象的三种状态:暂存(Transient)、持久(Persistent)、分离(Detached)
在Java中使用new创造的对象,就是暂存的, 暂存对象执行save()或saveOrUpdate()就是持久的;
持久对象总是与session和transaction相关联,持久对象执行delete()就会回到暂存的;
当session执行close(), clear(), evict()之后,对象就会变成分离的。
分离对象拥有id,执行update(), saveOrUpdate(), lock()之后,对象就会重新变成持久的。
× 对象的比较。==, equals(), hashCode()
4 实体映射:(章节设计是否有问题。因为映射就是四种:一对一、一对多、多对一、多对多。其他重要功能:持久化、瀑布持久化、双向关联与inverse设定。)
× 多对一映射 × 一对多映射 × 一对一映射 × 多对多映射
× Cascade Persistent/瀑布持久化:父类持久化后,子类应自动持久化。
Persistence of Reachability/可达性持久化
× 双向关联与inverse设定,这个是接着Cascade Persistence来说明的。与多对一映射和一对多映射的区别是可以自动更新子类。
× 延迟初始(Lazy Initialization)。真正需要时才向数据库索取数据。但是在处理加载的代码中间不能关闭Session,否则发生LazyInitializationException。
5 Session 与 Criteria
× Session管理:
Session是Hibernate的核心,负责对象的生命周期、事务管理、数据库存取。
Session由SessionFactory创建,SessionFactory是线程案例的,但是Session不是,因此不能共用。
为了提高使用效率,提供了一个共用Session的例子,采用ThreadLocal实现供参考。
× Criteria查询:
可以不使用SQL或者HQL,而采用完全基于Java的语法风格来进行数据查询;
但是,Criteria现在只能提供许多基本的功能。
6 事务管理
× 事务管理:
JDBC事务。用Connection管理事务,Hibernate对JDBC事务做了简单封装。
JTA事务。使用JTA容器来管理事务,与Session无关。
× 悲观锁定(Pessimistic Locking):依赖系统或者数据库本身的机制完成。
× 乐观锁定(Optimistic Locking):由Hibernate完成,并且为Hibernate推荐方式,增加了VERSION列。
7 相关工具
× SchemaExportTask:从映射文件建立数据库表
× Hbm2JavaTask:从映射文件建立Java Bean类。
分享到:
相关推荐
Hibernate 学习笔记 Hibernate 学习笔记 1 第一个hibernate项目(hibernate_first) 2 测试实体对象的生命周期(hibernate_session) 3 hibernate基本映射(hibernate_basemapping) 4 class实体类---表 4 标签id 5 ...
2.Algorithm Gossip: 费式数列 3. 巴斯卡三角形 4.Algorithm Gossip: 三色棋 5.Algorithm Gossip: 老鼠走迷官 6.Algorithm Gossip: 老鼠走迷官(二) 7.Algorithm Gossip: 骑士走棋盘 8.Algorithm Gossip: 八皇 9....
该机制基于gossip模式,节点和随机选择的对等体交换信息,并按照特定的P2P应用需求来重新安排拓扑,本协议非常的高效和鲁棒,能够处理节点持续的加入和离开系统的流,且即使现存的所有SP移除也能修复。
搜集的比较完整的C语言的算法,非常实用。
基于MATLAB的平面路由协议Flooding仿真源码
八皇后: 说明西洋棋中的皇后可以直线前进,吃掉遇到的所有棋子,如果棋盘上有八个皇后问题,则这八 个皇后如何相安无事的放置在棋盘上,1970年与1971年,E.W.Dijkstra经用这个问题来讲解程式设计之技巧。
基于omnet++环境下的gossip 算法仿真,包括ned、CC和ini文件
Java Gossip,一位牛人的Java 学习笔记之一
Java Gossip,一位牛人的 Java 学习笔记之二
A book about programer health.
Jsp&Servlet完整范例Gossip,已经整合完成,各项功能可用,很适合初学者,采用Model2架构!
基于clang、static、analyzer的源码漏洞检测插件: NewDereferenceChecker用于检测空指针解引用漏洞 DoubleFreeChecker用于检测doublefree,use-after-free,memroy leak漏洞 OverflowChecker用于检测整形溢出漏洞
开源框架:Hibernate Gossip v1.04
自述文件该自述文件通常会记录启动和运行应用程序所需的所有步骤。 您可能要讲的内容: Ruby版本系统依赖配置数据库创建数据库初始化如何运行测试套件服务(作业队列,缓存服务器,搜索引擎等) 部署说明...
Spring技术手册作者写的一些框架及语言教程,可以参考一下
Sensor_Network_Gossip_Push-Sum- 使用八卦和推和算法对各种传感器网络拓扑进行仿真。 包括的拓扑:线性网络,2D网格,3D节点多维数据集,不完善的3D节点多维数据集。 姓名:Mayank K Dadheech 如何运行: 主要...
很少的资源 放心下吧 .....................................
nodejs_八卦 nodejs八卦协议实现 nodejs 八卦.js 连接到 localhost:8080 在 chrome 中查看网络状态 控制台命令: 重启重置对等体颜色 css_color 建立网络的节点 断网示例 重建网络
自述文件 该自述文件通常会记录启动和运行应用程序所需的所有步骤。 您可能要讲的内容: Ruby版本 系统依赖 组态 数据库创建 数据库初始化 如何运行测试套件 服务(作业队列,缓存服务器,搜索引擎等) ...