Hibernate的介绍
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)全部的数据操作,比方增删改查都写在事务中。
主要的概念以及核心接口已经介绍,那Hibernate又是怎样应用的呢?下篇博客将会介绍怎样使用Hibernate?
Hibernate的介绍的更多相关文章
- Hibernate的介绍及入门小案例
1.Hibernate的诞生 在以前使用传统的JDBC开发应用系统时,如果是小型应用系统,并不觉得有什么麻烦,但是对于大型应用系统的开发,使用JDBC就会显得力不从心,例如对几十,几百张包含几十个字段 ...
- Hibernate 缓存介绍
Hibernate中提供了两级缓存,一级缓存是Session级别的缓存,它属于事务范围的缓存,该级缓存由hibernate管理,应用程序无需干预:二级缓存是SessionFactory级别的缓存,该级 ...
- Hibernate复习之Hibernate基本介绍
众所周知.眼下流行的面向对象的对象关系映射的Java持久层框架有MyBatis和Hibernate.他们都是对象关系映射ORM. 解决的主要问题就是对象-关系的映射.域模型和关系模型都分别建立在概念模 ...
- [原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- 第二节 hibernate session介绍以及session常用方法介绍
原创地址:http://www.cnblogs.com/binyulan/p/5628579.html Session是java应用程序和hibernate框架之间的一个主要接口.它是从持久化服务中剥 ...
- hibernate简单介绍
1. Hibernate是什么? hibernate是 轻量级的 ORM 框架. ORM全称object/relationmapping [对象/关系映射]. Hibernate主要用来实现Jav ...
- 史上最简单的Hibernate入门简单介绍
事实上Hibernate本身是个独立的框架,它不须要不论什么web server或application server的支持.然而,大多数的Hibernate入门介绍都加入了非常多非Hibernate ...
- Hibernate 介绍及其 环境搭建
介绍 数据持久化概念 数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称.例如:文件的存储.数据的读取等都是数据持久化操作.数据模型可以是任何数据结构或对象模型, ...
- Hibernate 简介
其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持.然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西, ...
随机推荐
- Android之用PopupWindow实现弹出listview形式菜单
Android 4.0之前的菜单使用非常广泛,但是在android4.0之后,很少使用先前的菜单样式了.那如何实现下图的样式了? 我们简单模拟一下. (1)屏蔽系统弹出的菜单: 1.首先创建至少一个系 ...
- hdr_beg(host) 主机名开始
What does "acl cdn_name hdr_beg(host) -i foor.bar.com" mean in HAProxy's configuration? 在H ...
- openstack 使用cloud init 和 console-log, nbd或者libguestfs 获取VM中的硬件信息。
以获取PCI的信息为例. 基本代码: pci.py import base64 import guestfs from functools import partial import os impor ...
- windows2003 64位注册码 序列号 激活码
Windows 2003 R2 64bit Enterprise VOL Edition 企业版 MR78C-GF2CY-KC864-DTG74-VMT73 VPT7T-77D38-KWVW2-2G3 ...
- .net面试问答(大汇总)
用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答:从下至上分别为:数据访问层.业务逻辑层(又或成为领域层).表示层 数据访问层:有时候也称为是持久层,其功 ...
- 根据Model有值的自动生成添加的Sql语句
static string Table_Name = ""; /// <summary> /// model实体中的字段名相对数据库表添加的字段 /// 如: /// ...
- android系统将普通应用升级为系统应用
作为一名程序员,有的时候并不是使用软件,而是去改造软件,不仅仅只是会编程而已,还要满足客户的需求.这样,才能开发出符合客户需求的应用,在关于到涉及到android底层的应用的时候,手机就需要root了 ...
- javascript 压缩空格代码演示
压缩空格代码演示 主要是讲解 压缩一个字符串两段空格 例如:javascript函数里的空格不论是这样 var s = "Hello World ...
- oracle distinct 去除重复,同时按某字段排序
SELECT distinct supplier_id, min(evidence_date) as evidence_date FROM TD_SUPPLIER_EVIDENCE_INFO wher ...
- [jQuery] jQuery如何获取同一个类标签的所有的值
碰巧在开发的时候遇到这个问题,因为jQuery总是只返回第一个类标签的值,所以无法达到我们的要求. 比如: var btn = jQuery('.btn').val(); 获取的只是第一个类标签为bt ...