Hibernate总结

来源:互联网 发布:华为it产品线云计算 编辑:程序博客网 时间:2024/05/22 11:42

一什么是ORM映射

所谓ORM映射,指的是对象数据和数据库数据的映射关系。也就是数据库表中的哪个字段映射对象的哪个属性。我们使用ORM映射来完成数据库的记录和对象属性值之间的转换。

二 hibernate特点:

Hibernate是一种开放源代码的对象/关系映射框架,是构建在JDBC基础之上的框架

解决阻抗不匹配的问题

完全着眼于关系数据库的 OR 映射

事务处理,生命周期管理不依赖于J2EE容器

 hibernate优点和缺点

优点:

1 hibernate只需要操作对象就可以完成数据库的增、删、改、查操作。使用hibernamte更面向对象

2 轻量级、无侵入性,移植性很好

1 事务管理

缺点:

1 批量对对象进行操作时,内存消耗比较严重

2 无法使用数据库特定映射

3 表间关系很复杂时,容易造成性能问题

四 hibernate常用的接口

   1、sessionFactory:应用程序从SessionFactory(会话工厂)里获得Session(会话)实例。

   2、session:连接的封装对象。用session实现对ORM映射操作

   3、Transaction用于对事物管理。

   4、Query:用于查询

五 掌握主键生成策略

   1、increment自动增长,主键值由hibernate控制生成,不能用于集群

   2、identity(mysql、sqlserver)、sequence(oracle)、native利用数据库自动增长列生成。

   3、UUID:采用UUID算法生成字符串唯一标识

   4、foreign:利用另一个表的主键生成当前表的主键。和<one-to-one>联合使用

六、掌握实体类对象三种状态:

    1、瞬时状态:不受session管理,数据库中也没有相关记录

    2、持久状态:受session管理,数据库中有相关记录。

    3、游离状态:不受session管理,数据库中有相关记录

七、get和load 的区别

   1、get立即加载,load延迟加载

    2、在id不存在时,get返回null,load会抛出异常

    3、get生成实体对象,load生成实体对象的子类对象。

八 掌握实体关系映射的相关配置

      一对一:分为主键关联、外键关联

      一对多:一个对象中拥有另一个对象的集合。一般使用Set

      多对多:一个对象中拥有另一个对象的集合。同时,另一个对象中也拥有该对象的集合,需要有中间表。

九 掌握inverse和caseCade的区别

1 Inverse属性控制关联关系控制方向,维护的是外键

2 Inverse属性用于一对多和多对多关联关系上,设置在set标签上

3 默认为false表示我们可以从一端和多端进行维护。设置为true之后,表示我们只能从多端进行维护

4 Cascade是操作记录上的连锁反应,维护的是记录。某一端进行某种操作时,另一端的关联操作。

十 缓存的分类和使用

 一级缓存:和session关联,session打开自动生成,session关闭自动销毁。不能跨session使用

 二级缓存:可以跨session使用。主要产品有EHcache、Oscache

   当查询实体时,会先查询一级缓存。如果一级缓存没有,再查询二级缓存

十一 延迟加载的含义

1 属性延迟

2 集合延迟

3 对象延迟

原创粉丝点击