`

Hibernate过滤器

阅读更多
import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
* 全局Filter 用于自动进行Session和事务的处理
* 
* @author Administrator
* 
*/
public class HibernateFilter implements Filter {

// 初始化日志对象
private static Log log = LogFactory.getLog(HibernateFilter.class);

public void init(FilterConfig config) throws ServletException {
   log.info("servlet filter init.now opening/closing a Session for each request.");
}

public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
   try {
    //开始一个新的事务,(在这个方法中会默认创建一个新的Session)
    HibernateUtil.beginTransaction();
    //进行事务处理
    chain.doFilter(request, response);
    //提交事务
    HibernateUtil.commitTransaction();
   } catch (ServletException se) {
    log.debug("Rolling back the database transaction.");
    //回滚事务,并关闭Session
    HibernateUtil.rollbackTransaction();
    throw se;
   }catch (IOException e) {
    log.debug("Rolling back the database transaction.");
//    回滚事务,并关闭Session
    HibernateUtil.rollbackTransaction();
    throw e;
   }finally{
    //关闭Session
    HibernateUtil.closeSession();
   }

}

public void destroy() {

}

}


分享到:
评论

相关推荐

    hibernate过滤器使用例子

    在探讨“hibernate过滤器使用例子”这一主题时,我们深入分析了如何在Hibernate框架中运用过滤器功能,以及如何结合分页技术优化数据查询效率。以下将详细阐述相关知识点,包括过滤器的基本概念、配置方法、源码解析...

    hibernate-ext:用于为对话模式中的开放会话创建动态Hibernate过滤器和扩展的项目

    本文将重点探讨一个名为"hibernate-ext"的项目,它专门用于为对话模式中的开放会话创建动态Hibernate过滤器,并提供了其他扩展功能。 一、Hibernate扩展概述 Hibernate扩展是针对原生Hibernate框架的功能增强,它...

    Hibernate+中文文档

    17.1. Hibernate 过滤器(filters) 18. XML映射 18.1. 用XML数据进行工作 18.1.1. 指定同时映射XML和类 18.1.2. 只定义XML映射 18.2. XML映射元数据 18.3. 操作XML数据 19. 提升性能 19.1. 抓取策略(Fetching ...

    Hibernate 3.x过滤器的高级应用

    在Java的持久化框架Hibernate 3.x中,过滤器(Filter)是一种强大的工具,它允许开发者在不修改原有代码的情况下,动态地限制查询结果。过滤器的概念与数据库的视图类似,但提供了一种更抽象、更灵活的解决方案,...

    HibernateAPI中文版.chm

    17.1. Hibernate 过滤器(filters) 18. XML映射 18.1. 用XML数据进行工作 18.1.1. 指定同时映射XML和类 18.1.2. 只定义XML映射 18.2. XML映射元数据 18.3. 操作XML数据 19. 提升性能 19.1. 抓取策略(Fetching ...

    hibernate3.2中文文档(chm格式)

    17.1. Hibernate 过滤器(filters) 18. XML映射 18.1. 用XML数据进行工作 18.1.1. 指定同时映射XML和类 18.1.2. 只定义XML映射 18.2. XML映射元数据 18.3. 操作XML数据 19. 提升性能 19.1. 抓取策略(Fetching ...

    Hibernate中文详细学习文档

    17.1. Hibernate 过滤器(filters) 18. XML映射 18.1. 用XML数据进行工作 18.1.1. 指定同时映射XML和类 18.1.2. 只定义XML映射 18.2. XML映射元数据 18.3. 操作XML数据 19. 提升性能 19.1. 抓取策略(Fetching ...

    Hibernate 中文 html 帮助文档

    17.1. Hibernate 过滤器(filters) 18. XML映射 18.1. 用XML数据进行工作 18.1.1. 指定同时映射XML和类 18.1.2. 只定义XML映射 18.2. XML映射元数据 18.3. 操作XML数据 19. 提升性能 19.1. 抓取策略(Fetching ...

    最全Hibernate 参考文档

    17.1. Hibernate 过滤器(filters) 18. XML映射 18.1. 用XML数据进行工作 18.1.1. 指定同时映射XML和类 18.1.2. 只定义XML映射 18.2. XML映射元数据 18.3. 操作XML数据 19. 提升性能 19.1. 抓取策略(Fetching ...

    hibernate笔记

    - `filter`: 可能是关于Hibernate 过滤器(Filters)的笔记,过滤器允许在查询时动态添加条件,如多租户场景下的数据隔离。 - `iHib01`, `iHib02`, `iHib03`: 可能是按章节划分的笔记文档,分别介绍了Hibernate 的...

    Hibernate教程

    18.1. Hibernate 过滤器(filters) 19. XML映射 19.1. 用XML数据进行工作 19.1.1. 指定同时映射XML和类 19.1.2. 只定义XML映射 19.2. XML映射元数据 19.3. 操作XML数据 20. 提升性能 20.1. 抓取策略(Fetching ...

    hibernate 体系结构与配置 参考文档(html)

    1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 ... Hibernate 过滤器(filters) 18. XML映射 18.1. 用XML数据进行工作 18.1.1. 指定同时映射XML和类 18.1.2. 只定义XML映射 18.2. XML映射...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    17.1. Hibernate 过滤器(filters) 18. XML映射 18.1. 用XML数据进行工作 18.1.1. 指定同时映射XML和类 18.1.2. 只定义XML映射 18.2. XML映射元数据 18.3. 操作XML数据 19. 提升性能 19.1. 抓取策略(Fetching ...

    hibernate3.6 文档(pdf 格式)

    - **Hibernate 过滤器**:介绍如何使用 Hibernate 过滤器来限制查询结果。 #### 二十、XML 映射 - **处理 XML 数据**:解释如何使用 Hibernate 映射 XML 数据。 - **XML 映射元数据**:介绍如何在 Hibernate 中定义...

    过滤器对于session周期的控制

    1. **添加过滤器定义**:在`web.xml`文件中定义过滤器,指定过滤器类为`org.springframework.orm.hibernate3.support.OpenSessionInViewFilter`。 2. **初始化参数设置**: - `singleSession`: 设置为`true`表示在...

    Hibernate3+中文参考文档

    17.1. Hibernate 过滤器(filters) 18. XML映射 18.1. 用XML数据进行工作 18.1.1. 指定同时映射XML和类 18.1.2. 只定义XML映射 18.2. XML映射元数据 18.3. 操作XML数据 19. 提升性能 19.1. 抓取策略(Fetching ...

    hibernate3.04中文文档.chm

    18.1. Hibernate 过滤器(filters) 19. XML映射 19.1. 用XML数据进行工作 19.1.1. 指定同时映射XML和类 19.1.2. 只定义XML映射 19.2. XML映射元数据 19.3. 操作XML数据 20. 提升性能 20.1. 抓取策略...

    hibernate 框架详解

    Hibernate 过滤器(filters) 19. XML映射 19.1. 用XML数据进行工作 19.1.1. 指定同时映射XML和类 19.1.2. 只定义XML映射 19.2. XML映射元数据 19.3. 操作XML数据 20. 提升性能 20.1. 抓取策略(Fetching ...

    过滤器操作数据库验证合法用户

    在Java Web开发中,过滤器(Filter)是一个非常重要的组件,它主要用于在请求被实际处理之前或之后执行一些预处理或后处理任务。过滤器在Servlet规范中定义,是实现Servlet API的一部分,允许开发者对HTTP请求和响应...

    HibernateTemplate汇总

    HibernateTemplate提供了许多实用的方法来操作数据库,包括批量更新、删除、检查写操作、清除Session缓存、关闭迭代器、检查对象是否在缓存中、创建代理Session对象、删除持久化实例、启用Hibernate过滤器、从缓存...

Global site tag (gtag.js) - Google Analytics