下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Hibernate的基础概述

作者:课课家教育     来源: http://www.kokojia.com点击数:767发布时间: 2016-07-26 17:12:41

标签: Hibernate基础Hibernate查询方式Hibernate缓存机制

大神带你学编程,欢迎选课

  Hibernate是一个开放源代码的对象关系映射框架,是对java中的对象关系映射解决方案。由于它对JDBC进行了轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维操作数据库。在学习Hibernate之前应该先Hibernate有一个大概的了解,文中会对Hibernate基础、Hibernate查询方式、Hibernate缓存机制等等进行讲解。

  Hibernate概述

Hibernate的基础概述_Hibernate基础_Hibernate查询方式_Hibernate缓存机制_课课家

   Hibernate是什么?由Gavin King在2001年的时候提出并且创建的一个开源持久框架。准确来说是一个ORM(Object Relational Mappint,对象关系映射)框架。有人将之称为持久层框架,因为它处于项目中的持久层位置。

   它的基础是java反射机制。Hibernate映射Java类到数据库表和从Java数据类型到SQL数据类型和95%的通用数据持久化相关的编程任务,解放了开发者。

  Hibernate优点

   Hibernate对JDBC访问数据库的代码做了封装,简化了很多数据访问层繁琐的重复性代码。

   Hibernate基于JDBC的主流持久框架,简化了DAO层的编码工作

   Hibernate提供可简单的API并可以根据需要进行扩展。

   Hibernate具有java反射机制,并不是用字节码增强程序从而实现透明性。

   Hibernate的性能非常优秀,因为HIbernate是一个轻量级的框架,所以映射的灵活性优秀。

   Hibernate支持各种关系数据库,支持各种复杂的一对一到多对多的关系。它不要求应用服务器进行操作,提供数据的简单查询,避免了引人过多复杂的问题。

  Hibernate的工作原理

HIbernate工作原理

   首先会读取并解析配置文件和映射信息,创建SessionFactory。在Session中创建事务Transaction,提交事务,关闭Session和SessionFactory。

  Hibernate的查询方式

   HQL:一种面向对象的查询语言,其中只有类、对象以及属性的概念。

   Criteria:采用面向对象方式封装查询条件,称为对象查询。

   SQL:数据库查询

   DetachedCriteria:动态分离查询

  Hibernate的缓存机制

   不使用单行一对多,使用双向一对多。灵活使用单项一对多关联,不使用一对一使用多对一。不使用集合缓存而是配置对象缓存。在一对多的时候使用Bag,多对多集合使用Set。表字段要少,表关联多。

   在HIbernate中有一级和二级缓存之分

   一级缓存:Session缓存,如果一个Session做了一个查询操作,就会把这个把这个操作结果放在一级缓存。如果同一个Session又做了同一个操作,HIbernate就会直接从一级缓存里拿,而不是数据库。

   二级缓存:SessionFactory级别缓存,把查询结果缓存到二级缓存。如果同一个sessionFactory  ,创建的某个session执行了相同的操作,hibernate就会从二级缓存中拿结果。

  Hibernate如何延迟加载

   1.实体延迟 2.集合延迟 3.属性延迟

   实体延迟:在Hibernate中利用代理类实现对实体的延迟加载。

   集合延迟:在一对多的映射中,例如一个用户有多个邮箱例子中。我们可以对邮箱集合属性做延迟加载处理,只有在需要使用邮箱时才从数据库查询出来,这样可以大大提高系统性能。

   属性延迟:只有在要使用到延迟加载的属性时,才从数据库查询出属性。

       文中我们对Hibernate的概念、作用、优点、工作特点以及查询方式进行了说明。并没有很深入详细的对Hibernate进行讲解式的说明,如果你不先了解基础,深层的知识你就不能掌握。希望对你有所帮助。

赞(1)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程