2022年hibernate学习笔记2 .pdf





《2022年hibernate学习笔记2 .pdf》由会员分享,可在线阅读,更多相关《2022年hibernate学习笔记2 .pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1、#第一个 hibernate 项目1、新建 java 项目2、创建 User Library,加入如下jar*HIBERNATE_HOME/hibernate3.jar*HIBERNATE_HOME/lib/*.jar*MySql jdbc驱动3、创建 hibernate 配置文件hibernate.cfg.xml,为了便于调试最好加入log4j 配置文件4、定义实体类5、定义 User 类的映射文件User.hbm.xml 6、将 User.hbml.xml 文件加入到hibernate.cfg.xml 文件中7、编写 hbm2ddl 工具类,将实体类生成数据库表8、开发客户端为 了 方
2、 便 跟 踪sql执 行,在hibernate.cfg.xml文 件 中 加 入 true 2、#测试实体对象的生命周期junit 简介:*编写测试类xxxTest,需要继承TestCase*编写单元测试方法,测试方法必须以test开头,测试方法不能含有参数和返回值,如:public void testHello1()*最好单元测试的代码单独建立一个目录了解 Hibernate 中 CRUD 操作了解 get 和 load 的区别?*get 不支持 lazy,load 支持 lazy*采用 get 加载数据,如果没有匹配的数据,返回null,而 load 则抛出异常transient 状态的特
3、征?*在数据库中没有与之匹配的数据*没有纳入session的管理persistent 状态的特征?*persistent 状态的对象在数据库中有与之匹配的数据*纳入了 session的管理*在清理缓存(脏数据检查)的时候,会和数据库同步detached状态的特征?*在数据库中有与之匹配的数据*没有纳入session的管理3、hibernate 基本映射实体类-表实体类中的普通属性-表字段采用 标签映射成数据库表,通过 标签将普通属性映射成表字段所谓普通属性指不包括自定义类、集合和数组等注意:如果实体类和实体类中的属性和sql 中的关键字重复,必须采用table 或 column 重新命名实体类
4、的设计原则:*实现一个默认的(即无参数的)构造方法(constructor)*提供一个标识属性(identifier property)(可选)*使用非 final 的类(可选)*为持久化字段声明访问器(accessors)主键生成策略:uuid、native 和 assigned sessionfactory 接口4、hibernate 多对一关联映射关联映射的本质:*将关联关系映射到数据库,所谓的关联关系是对象模型在内存中的一个或多个引用 会在多的一端加入一个外键,指向一的一端,这个外键是由 中的 column 属性定义的,如果忽略了这个属性那么默认的外键与实体的属性一致 标签的定义示例:
5、*理解级联的含义?*是对象的连锁操作:cascade 5、hibernate 一对一主键关联映射(单向关联Person-IdCard)一对一主键关联映射:让两个实体对象的id 保持相同,这样可以避免多余的字段被创建具体映射:idCard 文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3
6、HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7
7、ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档
8、编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A
9、3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F
10、7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2
11、文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2 6、ibernate 一
12、对一主键关联映射(双向关联PersonIdCard)需要在 idcard 映射文件中加入标签指向person,指示 hibernate 如何加载person 默认根据主键加载7、hibernate 一对一唯一外键关联映射(单向关联Person-IdCard)一对唯一外键关联映射是多对一关联映射的特例可以采用 标签,指定多的一端的unique=true,这样就限制了多的一端的多重性为一通过这种手段映射一对一唯一外键关联8、hibernate 一对一唯一外键关联映射(双向关联PersonIdCard)一对一唯一外键关联双向,需要在另一端(idcard),添加 标签,指示hibernate如何加载其
13、关联对象,默认根据主键加载person,外键关联映射中,因为两个实体采用的是person的外键维护的关系,所以不能指定主键加载person,而要根据person 的外键加载,所以采用如下映射方式:9、hibernate 多对多关联映射(单向 User-Role)具体映射方式:10、hibernate 多对多关联映射(双向 UserRole)映射方法:table 属性值必须和单向关联中的table 属性值一致中 column 属性值要与单向关联中的 标签中的column 属性值一致在 中的 column 属性值要与单向关联中标签的 column 属性值一致11、hibernate 多对一关联映射
14、文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P
15、5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K1
16、0F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1
17、R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E
18、2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2
19、K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6
20、L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2关联映射的本质:*将关联关系映射到数据库,所谓的关联关系是对象模型在内存中的一个或多个引用 会在多的一端加入一个外键,指向一的一端,这个外键是由 中的 column 属性定义的,如果忽略了这个属性那么默认的外键与实体的属性一致 标签的定义示例:*理解级联的含义?*
21、是对象的连锁操作12、session flush 测试:session flush 方法主要做了两件事:*清理缓存*执行 sql session在什么情况下执行flush*默认在事务提交时*显示的调用flush*在执行查询前,如:iterate 13、lazyhibernate lazy 策略可以使用在:*标签上,可以取值:true/false*标签上,可以取值:true/false 需要类增强工具*标签上,可以取值:true/false/extra*单端关联上,可以取值:false/proxy/noproxy lazy 概念:只有真正使用该对象时,才会创建,对于hibernate 而言,正真
22、使用的时候才会发出sql hibernate 支持 lazy 策略只有在session打开状态下有效标签上的lazy 特性只对普通属性起作用hibernate 在集合上的lazy 策略,可以取值:true/false/extra 标签上的lazy 不会影响到集合上的lazy 特性hibernate 在单端关联上的lazy 策略,可以取值:false/proxy/noproxy 标签上的lazy 不会影响到单端关联上的lazy 特性14、每棵继承树映射成一张表(1)、理解如何映射因为类继承树肯定是对应多个类,要把多个类的信息存放在一张表中,必须有某种机制来区分哪些记录是属于哪个类的。文档编码:C
23、W2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW
24、7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ
25、2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码:CW2V5E2P5A3 HW7J8U2K10F7 ZQ2D4N6L1R2文档编码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年hibernate学习笔记2 2022 hibernate 学习 笔记

限制150内