Hibernate简单的基础理论

和Hibernate有关的概念,是掌握Hibernate必须了解的知识。就个人经验来说,可以在了解如何简单开发Hibernate之后,再来学习这些概念,这样可以有个比较清楚的认识。Hibernate是一个对象-关系映射(ORM)框架。

一、持久层

1.  持久化对象

程序运行期间的数据是保存在内存中的。由于掉电后,内存中的数据会消失,而重要的数据需要长久的保存,因此引入了持久化的概念。

持久化指的是讲内存中的数据保存到磁盘等存储设备中,实现过程大多是通过各种关系数据库唉完成的。

持久化对象是指已经存储到数据库或磁盘中的业务对象。持久化对象可以在创建它的程序作用域之外保持其自身的状态。

2.  分层体系结构和持久层

双层结构分为应用层和数据库层,在双层结构中,用户界面和业务逻辑都有应用层负责,数据库层只负责存放持久化数据。

把用户界面的设计和业务逻辑独立出来,形成表示层,原来的双层结构就变成了三层:表示层、业务逻辑层、数据库层。这是经典的软件应用体系结构。

再把数据访问从业务逻辑中分离出来,形成一个新的、单独的持久化层,3层的软件体系结构就变成了4层,即表示层、业务逻辑层、持久层、数据库层。

3.  对象关系映射ORM

对象-关系映射(Object/Relation Mapping)实现了Java应用中的对象到关系数据库中表的自动持久化,并使用元数据来描述对象和数据库之间的关系。元数据一般用XML文件格式。简单的说对象Object是Java的一个简单的类(POJO),关系Relation对应着数据库表,而映射Mapping则代表着XML文件,这个文件用来联系对象和关系。

二、Hibernate的工作原理

Hibernate开发过程会用到5个核心接口:Configuration接口、SessionFactory接口、Session接口、Transaction接口、Query接口。

  1. Hibernate的初始化,创建Configuration对象。
  2. 创建SessionFactory实例。
  3. 创建Session实例建立数据库连接。
  4. 创建Transaction实例,开始一个事务。
  5. 利用Session的方法进行持久化操作,讲实体对象持久化到数据库中。
  6. 提交操作结果并结束事务。对实体对象的持久化操作结束后,必须提交事务。
  7. 关闭Session,与数据库断开连接。
时间: 2024-10-24 15:02:47

Hibernate简单的基础理论的相关文章

hibernate简单介绍

1.   Hibernate是什么? hibernate是 轻量级的 ORM 框架. ORM全称object/relationmapping [对象/关系映射]. Hibernate主要用来实现Java对象和表之间的映射,除此之外还提供数据查询和获取数据的方法.能够大幅度降低开发时人工使用SQL和JDBC处理数据的时间. Hibernate的目标是对于开发人员通常的数据持久化相关的编程任务,解放当中的95%.对于以数据为中心的程序来说,它们往往仅仅在数据库中使用存储过程来实现商业逻辑,Hiber

框架之 hibernate简单入门

hibernate框架的搭建 Hibernate框架的概述 1. Hibernate框架的概述 * Hibernate称为 * Hibernate是一个开放源代码的对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. * Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用. * Hibernate是轻量级JavaEE应用的持久层解决方案

SpringMVC+Spring4.0+Hibernate 简单的整合

学习的初始 一个 Hello World. 1.搭建好环境 工欲善其事,必先利其 这是需要的jar 简单的说下 : standard.jar  这个jar包是我们在jsp中使用JSTL标签的时候用到的.你也可以使用SpringEL . servlet-api.jar  这是你在SpringMvc中 用到HttpServletRequest 等这些类. 导入的包都OK了,上传下载的包我没有导.现在就应该到配置文件了. 2.配置文件  2.1web.xml   项目使用了什么框架.看这个配置就知道了

Spring+SpringMVC+Hibernate简单整合(转)

SpringMVC又一个漂亮的web框架,他与Struts2并驾齐驱,Struts出世早而占据了一定优势,下面同样做一个简单的应用实例,介绍SpringMVC的基本用法,接下来的博客也将梳理一下Struts2和SpringMVC的一些异同,通过梳理和旧知识的联系,让学习的成本变低,花很短的时间就可以了解一门貌似新的技术,其实本质没变. 原文http://langgufu.iteye.com/blog/2088355 下面开始实例,这个实例的需求是对用户信息进行增删改查.首先创建一个web项目te

hibernate简单工具类的封装

通过该工具类可以获得hibernate的session对象,并在项目中使用该工具 public class HibernateUtil { private static SessionFactory sessionFactory; //表示构造方法私有化,保证单例模式 private MyHibernateSessionFactory(){ } /** * @return 获取会话工厂 */ public static SessionFactory getSessionFactory() { i

hibernate简单的框架

前提,完成接口和实现类 No1导包 No.2编写applicationConnection.xml的头 No.3连接数据库,把所有的与数据库的操作都弄上来 我们要引入外部文件便于客户操作 下面的是text或者是properties文件 用连接数据库的c3p0数据库池 No.4建立表格 这样一个hibernate的简单框架就搭建好了

Intellij IDEA的Hibernate简单应用

1.创建数据库及其表 create database demo; use demo; CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(50) DEFAULT NULL, `password` varchar(50) DEFAULT NULL, `email` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY

Spring Data JPA、 MyBatis与Hibernate简单对比

整体参考: https://blog.csdn.net/xihuanyuye/article/details/81201441 详细参考: https://blog.csdn.net/qq897958555/article/details/53208002 1.Spring Data JPA与Hibernate Spring Data JPA是Spring Data的子模块.使用Spring Data,使得基于“repositories”概念的JPA实现更简单和容易.Spring Data JP

hibernate简单连接mysql数据库配置

使用hibernate连接mysql数据库 1:项目搭建好之后,在lib包中添加必要的jar包,和mysql数据库驱动jar包: jar包可以在hibernate的下载包(hibernate3.3.2.GA)中找到,这里所需要的jar包是: hibernate3.jar,lib/required目录下的所有jar包; 连接数据库所需要的jar包:mysql-connector-java-5.1.7-bin.jar; 如图: 2:jar包引入后编写实体类及映射文件: 实体类是xx.java文件;映