hibernate原理流程

1.什么是Hibernate? Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。 ·Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。 ·SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。 ·Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。 ·Transaction接口:Transaction接口负责事务相关的操作。它是可选的,可发人员也可以设计编写自己的底层事务处理代码。 ·Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。

ormpping框架:数据库的操作框架

优点:1,比较简单 2.数据缓存:一级缓存 二级缓存 查询缓存 3.移植性比较好

缺点:1.sql语句是有hibernate内部生产的,所以程序员不可干预,可控性差  2.如果数据库特别大,不适合用hibernate

JDBC的优缺点:

优点:1.速度比较快 2.把控性比较好

缺点:1.查询代码特别繁琐 2.重复代码特别多,繁琐的try,catch 3.数据的缓存 4.sql移植性不好

时间: 2024-11-08 11:16:27

hibernate原理流程的相关文章

Atitit。Tree文件解析器的原理流程与设计实现  java  c# php js

Atitit.Tree文件解析器的原理流程与设计实现  java  c# php js 1. 解析原理与流程1 1.1. 判断目录  ,表示服  dirFlagChar = "└├─";1 1.2. 剑豪制表符出现的位置与文件夹级别对应表1 1.3. 主要判读流程2 2. Tree结果2 3. Code----3 4. 结果5 1. 解析原理与流程 1.1. 判断目录  ,表示服  dirFlagChar = "└├─"; 其中-类似于剑豪的制表符是表示目录的..够

hibernate原理简单实现对比JDBC

hibernate作为orm模型的实现的一种,是java的对象模型和关系模型之间的桥梁,主要通过jdbc 的封装来达到操作数据库的目的,提供了一套相对全面的自动化的api.简单模拟一下hibernate的 运行原理,其实主要还是jdbc的使用,还是直接看看这个小例子 package com.tgb.cfl.hibernate; import java.lang.reflect.Method; import java.sql.Connection; import java.sql.DriverMa

Hibernate开发流程

一:基本开发流程: -->导入jar包,hibernate.jar + required + jpa + 数据库驱动包 -->对实体类进行映射,写配置文件 -->src目录下添加hibernate.cfg.xml文件 数据库相关配置,其他相关配置(是否显示sql,是否自动建表等),映射文件加载 -->测试DAO 二:hibernate程序执行流程 三:hibernate.cfg.xml配置详解 1 <!DOCTYPE hibernate-configuration PUBLI

Hibernate系列-Hibernate原理

    一开始学习Hibernate之前,感觉和.net的EF差不多,就是对JDBC的一种封装而已,看到这么多视频 心情很是激动,又可以好好学习啦.     首先来说说工作原理吧:     1.配置好hibernate的配置文件和与类对应的配置文件后,启动服务器. 2.服务器通过实例化Configeration对象,读取hibernate.cfg.xml文件的配置内容,并根据相关的需求建好表或者和表建立好映射关系. 3.通过实例化的Configeration对象就可以建立sessionFacto

localtunnel.me 原理流程浅析

  本文採用知识共享署名-同样方式共享 4.0 国际许可协议进行许可. 近期公司的项目须要一个后台server,要求能将内网的WEBserver暴露在外网上.于是.就在网上到处搜开源项目.找到两个口碑不错的项目(没验证过,人云亦云吧):localtunnel.me和ngrok. 前者是javascript语言开发的.后者是go语言开发的.正好又在写一个前端,学习javascript中(全栈project师! !),就git clone下来看看吧.在这篇文章里.仅仅对原理和流程进行说明,不做代码分

【Linux网络基础】上网原理流程

1. 局域网用户上网原理 上网过程说明: 确保物理设备和线路架构准备完毕,并且线路通讯状态良好 终端设备需要获取或配置上局域网(私有地址)地址,作为局域网网络标识 当终端设备想上网时,首先确认访问的地址,是否在本局域网内,若不在需要先告知网关 网关地址配置在路由器的内网接口上,路由器根据请求,将流量进行路由转发给外网设备,让外网设备协助进行流量转发. 需要注意:家用路由器实际上并不是路由器,而是一个NAT地址转换设备. 猫等运营商设备通过获取路由器的拨号信息,将信息进行上传,确认无误后,便可建立

mybatis原理流程

无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点: 从配置文件(通常是XML配置文件中)得到 sessionfactory. 由sessionfactory  产生 session 在session 中完成对数据的增删改查和事务提交等. 在用完之后关闭session . SqlSession的应用场合 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory将SqlSessio

Hibernate原理

Hibernate使用基本上会,但是却一直不知道Hibernate内部是怎么工作的 什么是Hibernate? Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP

hibernate工作流程、session

hibernate是对jdbc的封装,不建议直接使用jdbc的connection操作数据库,而是通过session操作数据库.session可以理解为操作数据库的对象. session与connection是多对一的关系,每个session都有一个与之对应的connection,一个connection不同时刻可以供多个session使用.