Hibernate学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.MyEclipse的使用
2.@ 符号不给提示
a)可以使用快捷键alt + / 来进行提示
b)进行选项设置window-->proferences--> 搜content assist java中的
c)@提示preference—> java→ editor→content assist
d)
3.整行的复制、移动
a)复制整行:按ctrl+alt+↑(↓) 来复制当前焦点所在的行
b)移动整行:按alt+↑(↓) 来移动当前焦点所在的行
4.
2. hibernate 调试
1.调试bug:表名不能和mappedBy=“”的名相同
2.如果使用SchemaExport(cfg)它和SessionFactory 使用的Configuration一
定不要是同一个否则会出现Duplicate collection role mapping的错误
3.
4.
3.hibernate 经验
1.先建表
a)在公司中一般先建表
b)但是在建表的过程中不一定能和实体类中的对应关系对应上,所以可以
通过实体类生成表,来看一下表应给怎么建,然后再去调整表,调整
完表后,就可以调整实体类,并构建实体类
c)现在是做实验一般会让他自动生成,因为实验式不需要对表调优
2.
4. PowerDisigner的使用
1.连接数据库
a)一般powerDisigner连接数据库使用odbc,但在Powerdisigner中没有
MySQL的odbc数据源
b)解决方法:使用jdbc进行连接
i.菜单的Database-->configure connections-->connection profiles 设置
ii.截图(视频35 (27.56秒视频截图))(设置截图)
c)设置完成后测试有可能出现错误
d)解决方法: 把mysql的jar 导入到系统的classpath下
2.方向工程
a)方向工程(reverse Engineer Database)
b)作用: 可以把数据库中的表的关系反向再现
c)其他的设置问题可以看视频35 (30分钟视频)
3.
课程内容
1.HelloWord
a)Xml的配置
b)Annotation 的配置
2.Hibernate原理模拟- - 什么是O/R Mapping 以及为什么要有O/R Mapping
3.常见的O/R 框架(了解)
4.Hibernate 基础配置(重点)
5.Hibernate核心接口介绍(重点)
6.对象的三种状态(了解)
7.ID生成策略(重点掌握auto)
8.关系映射(重点)
9.Hibernate查询(HQL)
10.在Struts基础上继续完善BBS2009
11.性能优化(重点)
12.补充话题
风格
1.先脉络,后细节
2.先操作,后原理
3.重annotation,轻xml配置
a)JPA
b)Hibernate-extension
环境配置
导入hibernate-distribution下的hibernate3.jar
导入hibernate-distribution\jpa\hibernate-jpa-2.0-api-1.0.0.Final.jar
导入hibernate-distribution\required下的所有jar
配置slf4j的日志环境
导入slf4j\slf4j-nop-1.6.1.jar
配置log4j的日志环境
导入apache-log4j-1.2.16\log4j-1.2.16.jar
并且要导入slf4j\slf4j-log4j12-1.6.1-sources.jar
配置JUnit
导入junit4.9b2\junit-4.9b2.jar
注意版本的兼容性annotation entitymanager
课程内容列表
4. Hibernate 基础配置
1. 对应项目:hibernate_0300_BasicConfiguration
2. Mysql的图形化客户端
3.Hibernate.cfg.xml : hbm2ddl.auto
a)先建表,然后再创建对象优点:建表以后需要对表进行优化,如果是
先建对象就没法对表进行优化啦
4.搭建日志环境并配置显示ddl语句
a)可以使用好几种日志架构如:slf4j log4j apache-commons-logging
b)使用slf4j 导入slf4j-api-1.6.1.jar 并导入slf4j-nop-1.6.1.jar
c)使用log4j导入slf4j-api-1.6.1.ja 、log4j-1.2.16.jar、slf4j-log4j12-1.6.1.jar
5.搭建JUnit环境
a)注意JUnit的bug
b)只需要导入JUnit下的一个jar包junit-4.9b2.jar
6.Hibernate.cfg.xml :show_sql
7. Hibernate.cfg.xml :format_sql
8.表明和类名不同,对表名进行配置
a)Annotation:@table
b)Xml table 属性
9. 字段名和属性相同
a)默认为@basic
b)Xml中不用写column
10.字段名和属性名不同
a)annotation:@column
b)Xml 用column属性
11.不需要persistence 的字段
a)annotation:@transient