hibernate3学习笔记(二十一)|二级缓存

二级缓存及外部缓存,它能够越过数个Session,通过同一个SessionFactory进行管理和维护。

接上例的代码:http://blog.csdn.net/kunshan_shenbin/archive/2008/09/03/2874375.aspx

要使用二级缓存,首先需要对hibernate.cfg.xml文件进行修改:

1.<?xml version="1.0" encoding="utf-8"?>2.<!DOCTYPE hibernate-configuration PUBLIC3.    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"4.    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">5.6.<hibernate-configuration>7.8.    <session-factory>9.10.        ....11.        <property name="hibernate.cache.provider_class">12.            org.hibernate.cache.HashtableCacheProvider13.        </property>14.        ....15.16.    </session-factory>17.18.</hibernate-configuration>

HashtableCache是Hibernate自己所提供的二级缓存的实现,但是由于其性能和功能有限,一般只用于开发和测试。

当然我们可以使用第三方的实现,譬如:org.hibernate.cache.EhCacheProvider,这个需要ehcathe.jar包。

修改User.hbm.xml文件:

1.<?xml version="1.0" encoding="utf-8"?>2.<!DOCTYPE hibernate-mapping3.    PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"4.    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">5.6.<hibernate-mapping>7.8.    <class name="com.hb3.pack_21.model.User" table="user">9.10.        <cache usage="read-write"/>11.12.        <id name="id" column="id" type="java.lang.Integer">13.            <generator class="native"/>14.        </id>15.16.        <property name="name" column="name" type="java.lang.String"/>17.18.        <many-to-one name="room"19.                     column="room_id"20.                     class="com.hb3.pack_21.model.Room"21.                     cascade="save-update"22.                     outer-join="true"/>23.24.    </class>25.26.</hibernate-mapping>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索hibernate
, 文件
, 缓存
, cache
, sessionfactory
二级
,以便于您获取更多的相关知识。

时间: 2024-11-02 11:33:31

hibernate3学习笔记(二十一)|二级缓存的相关文章

kvm虚拟化学习笔记(二十一)之KVM性能优化学习笔记

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1606422 本学习笔记系列都是采用CentOS6.x操作系统,KVM虚拟机的管理也是采用virsh方式,网上的很多的文章都基于ubuntu高版本内核下,KVM的一些新的特性支持更好,本文只是记录了CentOS6.x系列操作系统下KVM优化的点,有很多都是默认支持开启了的,除了采用virtio方式的磁盘IO,与网络IO接口

hibernate3学习笔记(二十二)|Query缓存机制

接前面的例子:http://blog.csdn.net/kunshan_shenbin/archive/2008/09/03/2874375.aspx 测试代码如下: 1.package com.hb3.pack_22;2.3.import java.io.IOException;4.import java.sql.SQLException;5.import java.util.List;6. 7.import org.hibernate.Query;8.import org.hibernate

hibernate3学习笔记(二) 一级缓存

接上例:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/Java/201101/23637.htm 修改BusinessService.java文件如下所示: 1.package com.hb3.pack_01;2.3.import org.hibernate.Session;4.import org.hibernate.SessionFactory;5.import org.hibernate.cfg.Configuration

设计模式学习笔记(二十一)—Composite模式

今天开始学习Composite模式,首先让我们看一下它的定义: 将对象组合成树形结构以表示"整体-部分"的层次结构.Composite模式使单个对象和组合对象的使用具有一致性. 下面给出这个模式的结构图: 如果把Composite模式看成是树形结构的话,那么它主要角色有: 1)树干角色(Component):该角色是一个抽象类,它定义了一些操作增删树叶(Leaf)的操作. 2)树枝角色(Composite):树枝上有很多树干,树枝也是树干的一种. 3)树叶角色(Leaf):树干上的树叶

hibernate3学习笔记(二十三)|进阶特性(三)

6.从数据表生成映射文件 可以从资料库的表格自动生成映射文件,首先 下载 Middlegen-Hibernate,下载後将之解压缩. 这边所使用的资料库是MySQL,并假设您的资料库中已有以下的表格: CREATE TABLE user ( id INT(11) NOT NULL auto_increment PRIMARY KEY, name VARCHAR(100) NOT NULL default '', age INT ); 进入Middlegen-Hibernate解压缩後的confi

hibernate3学习笔记(二十三)|进阶特性(二)

4.Interceptor 介面: 您可以在开启Session时载入一个自订Interceptor,这个Interceptor会在对应的动作发生之前呼叫对应的方法,方法是让您定义的Interceptor实作Interceptor介面,介面的定义如下: Interceptor.java package org.hibernate; import java.io.Serializable; import java.util.Iterator; import org.hibernate.type.Ty

hibernate3学习笔记(二十三)|进阶特性(一)

1.悲观锁定: 在多个客户端可能读取同一笔数据或同时更新一笔数据的情况下,必须要有访问控制的手段,防止同一个数据被修改而造成混乱,最简单的手段就是对资料进行锁定,在自己进行资料读取或更新等动作时,锁定其他客户端不能对同一笔资料进行任何的动作. 悲观锁定(Pessimistic Locking)一如其名称所示,悲观的认定每次资料存取时,其它的客户端也会存取同一笔资料,因此对该笔资料进行锁定,直到自己操作完成後解除锁定. 悲观锁定通常透过系统或资料库本身的功能来实现,依赖系统或资料库本身提供的锁定机

hibernate3学习笔记(二十)|关系映射:多对多

要实现多对多的对应,一般可以借由一个中间表来完成.也就是借由一对多,多对一来完成. DDL: 1.CREATE TABLE user (2. id INT(11) NOT NULL auto_increment PRIMARY KEY,3. name VARCHAR(100) NOT NULL default ''4.);5. 6.CREATE TABLE user_server (7. user_id INT(11),8. server_id INT(11)9.);10. 11.CREATE

kvm虚拟化学习笔记(二)之linux kvm虚拟机安装

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1289627 KVM虚拟化学习笔记系列文章列表 ---------------------------------------- kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51cto.com/703525/1288795 kvm虚拟化学习笔记(二)之linuxkvm虚拟机安装htt