A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2017-12-27 18:38 编辑

Hibernate是什么,它有什么作用?
Hibernate它是一个轻量级的jdbc封装,也就是说,我们可以使用hibernate来完成原来我们使用jdbc完成操作,就是与数据库的交互操作。它是在dao层去使用的。
对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping)
简单说,我们使用orm可以将我们的对象与我们的类去进行映射,使的我们可以去操作对象就完成对表的操作。
Hibernate执行原理总结
hibernate工作原理:
1、通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件。
2、由hibernate.cfg.xml中的<mappingresource="com/xx/User.hbm.xml"/>读取解析映射信息。
3、通过config.buildSessionFactory();//得到sessionFactory。
4、sessionFactory.openSession();//得到session。
5、session.beginTransaction();//开启事务。
6、persistent operate;
7、session.getTransaction().commit();//提交事务
8、关闭session;
9、关闭sessionFactory;
Hibernate的配置详解
Hibernate中我们使用时主要有两种配置文件
核心配置文件  hibernate.cfg.xml
对于hibernate的核心配置文件它有两种方式:
1.hibernate.cfg.xml
2.hibernate.properties
我们在开发中使用比较多的是hibernate.cfg.xml这种方式,原因它的配置能力更强,易于修改
映射配置文件   xxx.hbm.xml
映射配置文件它的名称是类名.hbm.xml,它一般放置在实体类所在的包下。
这个配置文件的主要作用是建立表与类的映射关系。      
1.统一声明包名,这样在<class>中就不需要写类的全名.
2.关于<class>标签配置
name属性:类的全名称
table 表的名称,可以省略,这时表的名称就与类名一致
catalog属性:数据库名称 可以省略.如果省略,参考核心配置文件中url路径中的库名称
3.关于<id>标签
首先它必须存在。<id>是用于建立类中的属性与表中的主键映射。
name 类中的属性名称
column 表中的主键名称  column它也可以省略,这时列名就与类中属性名称一致
length 字段长度
type属性 指定类型
<generator>它主要是描述主键生成策略.
4.关于<property>标签
它是描述类中属性与表中非主键的映射关系
关于hibernate的映射文件中类型问题
对于type属性它的取值,可以有三种:
1.java中的数据类型
2.hibernate中的数据类型
3.SQL的数据类型

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马