一.主配置

◆查询缓存,同下面讲的缓存不太一样,它是针对HQL语句的缓存,即完全一样的语句再次执行时可以利用缓存数据。但是,查询缓存在一个交易系统(数据变更频繁,查询条件相同的机率并不大)中可能会起反作用:它会白白耗费大量的系统资源但却难以派上用场。

◆fetch_size,同JDBC的相关参数作用类似,参数并不是越大越好,而应根据业务特征去设置

◆batch_size同上。

◆生产系统中,切记要关掉SQL语句打印。

二.Hibernate Session缓存

1.数据库级缓存:这级缓存是最高效和安全的,但不同的数据库可管理的层次并不一样,比如,在ORACLE中,可以在建表时指定将整个表置于缓存当中。

2.Session缓存:在一个Hibernate Session有效,这级缓存的可干预性不强,大多于Hibernate自动管理,但它提供清除缓存的方法,这在大批量增加/更新操作是有效的。比如,同时增加十万条记录,按常规方式进行,很可能会发现OutofMemeroy的异常,这时可能需要手动清除这一级缓存:Session.evict以及 Session.clear

3.应用缓存:在一个SessionFACTORY中有效,因此也是优化的重中之重,因此,各类策略也考虑的较多,在将数据放入这一级缓存之前,需要考虑一些前提条件:
◆数据不会被第三方修改(比如,是否有另一个应用也在修改这些数据?)
◆数据不会太大
◆数据不会频繁更新(否则使用CACHE可能适得其反)
◆数据会被频繁查询
◆数据不是关键数据(如涉及钱,安全等方面的问题)。 Hibernate Session缓存有几种形式,可以在映射文件中配置:read-only(只读,适用于很少变更的静态数据/历史数据),nonstrict-read- write,read-write(比较普遍的形式,效率一般),transactional(JTA中,且支持的缓存产品较少) 4.分布式缓存:同3)的配置一样,只是缓存产品的选用不同,在目前的Hibernate中可供选择的不多,oscache, jboss cache,目前的大多数项目,对它们的用于集群的使用(特别是关键交易系统)都持保守态度。在集群环境中,只利用数据库级的缓存是最安全的。 三.延迟加载
◆实体延迟加载:通过使用动态代理实现
◆集合延迟加载:通过实现自有的SET/LIST,Hibernate提供了这方面的支持 鸣谢:http://zhidao.baidu.com/link?url=9gNQZ7QArMeR4jgpHbRPsh6LbAwkQWrPhHExwUp75Cjz6_NG3soS1JtY4sU98PAI3pA6QoMCxO83AJMzfIEera

Hibernate简介2的更多相关文章

  1. hibernate学习一(hibernate简介与准备)

    一.hibernate简介 Hibernate是一个开放源代码的对象-关系映射(Object/Relational Mapping 即 ORM)框架,它对JDBC进行了非常轻量级的对象封装,它将POJ ...

  2. 框架基础之Hibernate简介

    框架基础之Hibernate简介 1.什么是Hibernate? Hibernate是一个开发源代码的对象关系映射框架,它对JDBC进行非常轻量级的对象封装,使得程序员可以随心所欲地使用对象编程思维来 ...

  3. 小峰Hibernate简介与HelloWorld

    一.Hibernate简介: 二.Hibernate4 版Hello World 实现 工程结构: com.cy.model.Student: package com.cy.model; public ...

  4. Hibernate简介与实例

    一.Hibernate简介 1.什么是Hibernate? Hibernate是数据持久层的一个轻量级框架.数据持久层的框架有很多比如:iBATIS,myBatis,Nhibernate,Siena等 ...

  5. hibernate简介以及简单配置

    Hibernate简介: Hibernate是一个开源对象关联关系映射的框架,他对JDBC做了轻量级的封装,使我们可以通过面向对象的思想操作数据库. 为什么要用Hibernate: 1: 对JDBC访 ...

  6. 1.Hibernate简介

    1.框架简介: 定义:基于java语言开发的一套ORM框架: 优点:a.方便开发;           b.大大减少代码量;           c.性能稍高(不能与数据库高手相比,较一般数据库使用者 ...

  7. 1.一起来学hibernate之hibernate简介

    一.简介 Hibernate,是一个开源的ORM框架.所谓的ORM,即object relative mapping,就是对象关系映射. 那什么是对象关系映射? 对象,即java类,又称为实体类,对象 ...

  8. Hibernate学习二----------hibernate简介

    © 版权声明:本文为博主原创文章,转载请注明出处 1.hibernate.cfg.xml常用配置 - hibernate.show_sql:是否把Hibernate运行时的SQL语句输出到控制台,编码 ...

  9. Hibernate 简介

    其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持.然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西, ...

  10. Hibernate简介

    Hibernate是一个面向JAVA环境的对象/关系数据库映射工具,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去 ,Hibernate的目标主要是为了释放开发者通常的数据持久化相关的 ...

随机推荐

  1. Java Concurrency - Condition

    Condition 将 Object 监视器方法(wait.notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待池(wa ...

  2. UML学习-总体概念篇

    前言:我们在实施一个项目时,前期的设计是非常重要的,如建筑师在建造一个建筑时,需要事先设计图纸,设计图纸是设计的语言,是不同的工程设计人员.设计人员和生产人员之间进行沟通的语言,在一个现代化的工程里面 ...

  3. 使用TreeView+ListBox+TxtBox 资料管理器

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. oracle instantclient basic +pl/sql 安装和配置

    oracle instantclient basic +pl/sql 安装和配置 大家都知道,用PL/SQL连接Oracle,是需要安装Oracle客户端软件的,oracle客户端有点大,比较耗资源. ...

  5. nodejs包管理

    包管理 :npm cnpm yarn Node Package Manager node的包管理工具 cls清除控制台 npm install jquery 下载依赖包 就自动下载最新版本的jq np ...

  6. 暑假集训(4)第七弹——— 组合(hdu1850)

    题意概括:你赢得了第一局.魔鬼给出的第二局是,如果有N堆牌,先手的人有几种可能胜利. 问题分析:尼姆游戏,先得到n堆牌的数量异或和,再将异或和与每一个牌组的数量异或,如果结果小于原牌组数量 则可能++ ...

  7. Nodejs 处理gb2312内容乱码问题

    在使用cheerio处理request模块返回的gb2312网页出现了乱码,从开始一直排查问题,一直排查到request.cheerio都有问题. 首先request会进行一次转码,这里需要设置req ...

  8. 串操作,C++实现

    对串的基本操作都全已经实现 对kmp,kf字符串替换等功能全都已经实现 由于时间原因.没来得及注释,希望大家参考见谅. 串操作hstring.h头文件实现 //kallen 1 #ifndef _HS ...

  9. jQuery Easyui DataGrid应用

    冻结列 $('#tbList').datagrid({ pagination: true, frozenColumns: [[ { field: 'BId',checkbox:'true',width ...

  10. linux find 反转 查找没有被找到的结果

    在linux下,有时候需要找一些文件,还有时候这些文件格式不够统一和规范,但是需要排除的那些文件却格式统一,就可以使用find命令的反转功能 一般用find查找文件的命令是: find . -name ...