1.什么是Hibernate?
首先,Hibernate是数据持久层的一个轻量级框架。数据持久层的框架有很多比如:iBATIS,myBatis,Nhibernate,Siena等等。
并且Hibernate是一个开源的orm(object relations mapping)框架,提供了查询获取数据的方法,用面向对象的思想来操作数据库,节省了我们开发处理数据的时间。
2.那使用Hibernate的优点呢?
1.使用简介的hql语句(Hibernate query language)。可以不使用传统的insert,update等sql语句。比如insert一个对象,原来的做法是:insert into 表名称 alue(值1,值2,值3,……),而现在的做法是:save(对象)。
2.使用or映射。对象到关系数据库之间的映射。是从对象的角度操作数据库,再次体现了面向对象思想。原来的实体抽取方法:首先有了表,然后表映射实体对象。而现在Hibernate做法是:直接由对象映射到表。
3.没有侵入性,移植性比较好。什么是没有侵入性?就是Hibernate采用了pojo对象。所谓的pojo对象就是没有继承Hibernate类或实现Hibernate接口。这样的话,此类就是一个普通的java类,所以移植性比较好。
4.支持透明持久化。透明是针对上层而言的。三层架构的理念是上层对下层的依赖,只是依赖接口不依赖具体实现。而Hibernate中的透明是指对业务逻辑层提供了一个接口session,而其他的都封装隐藏。持久化是指把内存中的数据存放到磁盘上的文件中。
3.当然一个事物,不可能十全十美,即使如此优秀的Hibernate也有自己的弱点。比如:若是大量数据批量操作。则不适合使用Hibernate。并且一个持久化对象不能映射到多张表中。
4.Hibernate中核心5个接口
1.Configuration接口:负责配置及启动Hibernate,用来创建sessionFactory
2.SessionFactory接口:一个SessionFactory对应一个数据源存储,也就是一个数据库对应一个SessionFactory。SessionFactory用来创建Session对象。并且SessionFactory是线程安全的,可以由多个线程访问SessionFactory共享。
3.Session接口:这个接口是Hibernate中常用的接口,主要用于对数据的操作(增删改查)。而这个Session对象不是线程安全的。不能共享。
4.Query接口:用于数据库的查询对象。
5.Transaction接口:Hibernate事务接口。它封装了底层的事务操作,比如JTA(;java transcation architecture)所有的数据操作,比如增删改查都写在事务中。
分享到:
相关推荐
北京动力节点教育培训公司提供的Hibernate5讲义,不仅对Hibernate框架进行了全面的介绍,而且通过实例演示了如何使用Hibernate进行基本的数据库操作。该讲义涵盖了Hibernate的基本技术、配置方法以及如何开发一个...
【三大框架之一Hibernate介绍】 Hibernate是一个广泛应用于Java开发领域的开源对象关系映射(ORM)框架。它通过将Java对象和数据库表之间的映射关系进行抽象,使得开发者可以用面向对象的方式处理数据库操作,从而...
【hibernate知识简介】 Hibernate 是一款流行的Java持久层框架,它主要负责处理对象与关系数据库之间的映射,实现对象关系映射(ORM),从而简化Java应用中的数据存取操作。ORM 解决了面向对象编程语言与关系型...
此外,还可能介绍到HQL(Hibernate Query Language),这是Hibernate提供的面向对象的查询语言,类似于SQL,但更贴近于Java对象。 `Hibernate HQL.ppt`则可能深入讲解HQL的使用,包括如何进行条件查询、分组、排序...
### Hibernate中的相关组件介绍 #### 一、Hibernate配置文件(`hibernate.cfg.xml`) 在Hibernate框架中,默认的配置文件被命名为`hibernate.cfg.xml`。此配置文件是Hibernate初始化过程中的关键组成部分,它定义...
同时,文档《Hibernate对象状态及一对多关联.doc》详细介绍了如何设置和管理一对多关联,这种关联在企业级应用中非常常见,例如一个用户可以有多个订单。 2. **一对一和多对多关联** 在《Hiberate一对一和多对多...
通过以上详细介绍,可以看出Hibernate所包含的各个jar包覆盖了从核心功能到辅助工具的各个方面,为开发者提供了丰富的选择和灵活性。了解这些包的具体作用有助于在实际开发过程中更加合理地使用Hibernate,以及根据...
本文主要介绍了Hibernate中的连表查询方法及其在实际开发中的应用。通过对HBM映射文件的理解、DAO层的连表查询实现以及查询结果的处理等几个方面进行了详细解释。在实际项目中,合理运用这些技巧可以极大地提高开发...
本篇文章将围绕"hibernate相关插件全集"这一主题,详细介绍给定的压缩包文件中包含的三个关键组件:Middlegen-Hibernate-r5、hibernate-annotations-3.3.0.GA和hibernate-extensions-2.1.3。 首先,Middlegen-...
本文将详细介绍如何利用`Hibernate-tools`来解决这些问题,以`hibernate-tools-5.2.1.Final.jar`为例。 `Hibernate-tools`是Hibernate项目提供的一组实用工具,它包括了代码生成、反编译数据库模式到`hbm.xml`文件...
1. **简介**:介绍Hibernate的基本理念、历史背景以及其在软件开发中的重要地位。这部分还会解释ORM的概念,以及Hibernate如何实现这一概念。 2. **安装与配置**:详述如何在项目中集成Hibernate,包括添加依赖、...
### Hibernate基础知识点详解 ...通过以上介绍可以看出,Hibernate不仅是一款功能强大的ORM框架,而且其设计理念和架构设计也非常优秀,使得开发者能够更加高效地进行数据库操作,同时保持代码的整洁性和可维护性。
- **新功能介绍**:在第 3 版本中,重点介绍了 Hibernate 4.2 的新特性和改进之处,包括但不限于: - **增强的性能优化**:提高了查询执行效率和内存利用率。 - **扩展的 API 支持**:增加了更多的 API 方法,方便...
高级Hibernate4开发技术:ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate高级映射技术,...
- **Introduction**:介绍了如何使用Ant工具来执行Hibernate相关的任务。 - **The <hibernatetool> ant Task**:详解了`<hibernatetool>` Ant任务的用法,该任务可以用来执行各种Hibernate相关的操作。 - **...
介绍了 Hibernate 如何集成 Spring 或其他框架进行事务处理,包括编程式事务和声明式事务。 ### 7. 性能优化 讨论了缓存机制(一级缓存和二级缓存)、批处理、延迟加载和实体状态管理等性能优化策略。 ### 8. ...
本教程将详细介绍如何使用`@Entity`、`@Table`、`@Id`等注解,以及如何进行一对一、一对多、多对多等关联映射。 9. **查询语言(HQL)与 Criteria API** Hibernate提供了自己的查询语言HQL(Hibernate Query ...
本教程针对初学者,将介绍如何使用Hibernate从数据库中查询并显示数据。 【描述】"适合初学者使用。使用Hibernate做查询数据库,代码为eclipse项目,直接导入即可使用,只供参考。" 对于初学者,理解并应用...
Spring MVC 和 Hibernate 是两个在Java Web开发中广泛使用的框架,它们分别是用于构建应用程序的前端控制器和持久层管理的工具。这个压缩包包含了这两个框架的核心库,使得开发者能够快速搭建一个基于Spring MVC和...
本章节将详细介绍如何从零开始创建一个简单的 Hibernate 应用程序。 **1.2 第一个 Hibernate 应用** - **1.2.1 第一个类** 创建一个简单的 Java 类 `Person`,用于演示 Hibernate 的基本用法。这个类将包含一些...