`
dengwanchuan
  • 浏览: 47538 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

谈谈对Hibernate的理解

阅读更多


1. 面向对象设计的软件内部运行过程可以理解成就是在不断创建各种新对象、建立对象之间的关系,调用对象的方法来改变各个对象的状态和对象消亡的过程,不管程序运行的过程和操作怎么样,本质上都是要得到一个结果,程序上一个时刻和下一个时刻的运行结果的差异就表现在内存中的对象状态发生了变化。


2.为了在关机和内存空间不够的状况下,保持程序的运行状态,需要将内存中的对象状态保存到持久化设备和从持久化设备中恢复出对象的状态,通常都是保存到关系数据库来保存大量对象信息。从Java程序的运行功能上来讲,保存对象状态的功能相比系统运行的其他功能来说,应该是一个很不起眼的附属功能,java采用jdbc来实现这个功能,这个不起眼的功能却要编写大量的代码,而做的事情仅仅是保存对象和恢复对象,并且那些大量的jdbc代码并没有什么技术含量,基本上是采用一套例行公事的标准代码模板来编写,是一种苦活和重复性的工作。


3.通过数据库保存java程序运行时产生的对象和恢复对象,其实就是实现了java对象与关系数据库记录的映射关系,称为ORM(即Object Relation Mapping),人们可以通过封装JDBC代码来实现了这种功能,封装出来的产品称之为ORM框架,Hibernate就是其中的一种流行ORM框架。使用Hibernate框架,不用写JDBC代码,仅仅是调用一个save方法,就可以将对象保存到关系数据库中,仅仅是调用一个get方法,就可以从数据库中加载出一个对象。


4.使用Hibernate的基本流程是:配置Configuration对象、产生SessionFactory、创建session对象,启动事务,完成CRUD操作,提交事务,关闭session


5.使用Hibernate时,先要配置hibernate.cfg.xml文件,其中配置数据库连接信息和方言等,还要为每个实体配置相应的hbm.xml文件,hibernate.cfg.xml文件中需要登记每个hbm.xml文件。


6.在应用Hibernate时,重点要了解Session的缓存原理,级联,延迟加载和hql查询。

分享到:
评论

相关推荐

    hibernate code.rar

    首先,让我们谈谈Hibernate的基本概念。ORM框架是为了解决程序中的数据持久化问题,即如何将业务对象(如Java类)与数据库表进行映射,使得开发者可以像操作对象一样操作数据库。Hibernate提供了一种直观、高效的...

    hibernate_flush 深入了解

    接下来,我们谈谈Hibernate与数据库事务的关系。在Hibernate中,通常一个Session对应一个数据库事务。默认情况下,Flush操作会在事务提交前进行,确保事务内的所有操作都能正确反映到数据库。如果在事务中遇到异常,...

    struts2+hibernate小项目

    接下来,我们来谈谈Hibernate。Hibernate是一个持久化框架,它允许开发者使用Java对象来表示数据库中的表,通过ORM将Java对象与SQL语句进行映射。这大大减少了直接编写SQL语句的工作量,使得数据库操作更加直观和...

    hibernate连接池驱动

    总的来说,理解并正确配置Hibernate连接池驱动对于提升应用的性能和可扩展性至关重要。无论是c3p0还是Proxool,它们都是为了优化数据库连接的生命周期管理,减少数据库连接创建和释放带来的开销,从而提高系统整体的...

    hibernate-helloworld

    在"hibernate-helloworld"中,这些基本操作会被封装在一些简单的业务逻辑中,以便于演示和理解。 总结来说,"hibernate-helloworld"项目是一个学习Hibernate基础的绝佳起点。通过这个项目,你可以了解到如何配置...

    Hibernate的get和load方法的区别

    虽然这里没有具体提到是哪种工具,但在使用Hibernate的开发环境中,例如IDEA或Eclipse,这些集成开发环境通常都有对Hibernate的支持,包括自动完成、代码提示和调试功能,这些工具可以帮助开发者更好地理解和使用`...

    hibernate02:session对象、hql查询、在线查询也叫对象查询、离线查询

    总结起来,`Hibernate02`的核心是理解并熟练运用`Session`对象进行数据库操作,掌握HQL以进行面向对象的查询,以及理解在线查询和离线查询的适用场景。这些知识点对于任何涉及Java持久化的开发项目都是至关重要的。...

    Hibernate3.3API

    对于关联映射,Hibernate支持一对一、一对多、多对一和多对多的关系。比如,一个用户可以有多个订单,这可以通过在两个实体类之间添加`@OneToOne`、`@OneToMany`或`@ManyToMany`注解来实现。 除此之外,Hibernate还...

    SWTResourceUtil 关于hibernate tools出错.txt

    接下来,我们谈谈Hibernate Tools。Hibernate是一个非常流行的ORM(对象关系映射)框架,它简化了Java应用程序与数据库之间的交互。Hibernate Tools是Hibernate的扩展,提供了诸如逆向工程(reverse engineering)、...

    struts2+hibernate+Mysql开发图书管理系统

    在Action中,通过Hibernate对数据库进行操作,如查询图书信息、添加借阅记录等。最后,Action返回一个结果,Struts2将结果渲染成HTML页面反馈给用户。 在实际开发过程中,可能会遇到一些小问题,比如SQL语句的优化...

    postgreAdmin(pgAdmin)数据库驱动JAR和hibernate数据连接及其驱动

    接着,我们谈谈`驱动JAR`。在Java应用程序中,为了连接到特定的数据库,我们需要对应的数据库驱动JAR文件。对于PostgreSQL,这个JAR文件通常称为`postgresql-jdbc.jar`。这个驱动JAR包含了所有必要的Java代码,使得...

    增删改查系列四之三hibernate+struts

    Hibernate是一个流行的Java ORM(对象关系映射)工具,它允许开发者使用面向对象的方式来处理数据库操作,减少了对SQL的直接依赖。在Hibernate中,数据库表与Java类相对应,表中的记录对应类的实例。通过Hibernate,...

    hibernate_criterion.rar

    《深入理解Hibernate Criterion查询机制》 Hibernate作为Java领域中的一款著名ORM框架,极大地简化了数据库操作,其中Criterion查询是其强大功能的一部分。本篇文章将详细探讨Hibernate Criterion的概念、使用方式...

    Spring+Struts+Hibernate 丽星私立管帐系统

    再来谈谈Hibernate,这是一个强大的对象关系映射(Object-Relational Mapping,ORM)框架,简化了数据库操作。在管帐系统中,Hibernate用于将Java对象与数据库中的表进行映射,使得开发者可以使用面向对象的方式来...

    spring和hibernate、数据源所需要的jar包,内附一个小实例

    接下来,我们谈谈Hibernate。Hibernate作为ORM框架,使得Java开发者可以使用面向对象的方式来操作数据库,无需编写繁琐的SQL语句。它通过映射Java类到数据库表,将对象和关系数据库之间建立桥梁,使得数据操作更加...

    struts2+spring+hibernate分页,事务,自定义切面

    然后,我们来谈谈Hibernate的事务处理。虽然Hibernate本身也支持事务管理,但在实际开发中,通常结合Spring一起使用,利用Spring的事务管理能力。Hibernate Session与数据库的交互是在事务内部进行的,因此,我们...

    spring整合hibernate和redis增删改查实例

    在IT行业中,Spring框架是Java领域最常用的轻量级应用框架之一,它为开发者提供了强大的依赖注入、AOP(面向切面编程)以及模块化的功能。...在这个过程中,理解各个组件的工作原理和它们之间的协作关系至关重要。

    Java求职面试宝典各大公司常考知识点

    1.6. hibernate中一对多配置文件返回的是什么? 4 1.7. update()和saveOrUpdate()的区别? 4 1.8. hibernate拒绝连接、服务器崩溃的原因?最少写5个 4 1.9. hibernate如何管理缓存 4 1.10. 使用Hibernate的优点...

    学生个人信息管理系统

    在信息技术领域,开发一个学生个人信息管理系统是一项常见的任务,尤其对于初学者来说,这样的项目既能够帮助他们掌握基础的编程技术,又能提升对Web应用程序框架的理解。本系统采用的是Struts2和Hibernate两大流行...

Global site tag (gtag.js) - Google Analytics