您的位置:首页 > 其它

Hibernate中多种方式解除延迟加载

2016-08-15 16:48 169 查看
package cn.happy.filter;

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.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;

import cn.happy.until.HibernateUtil;

public class OpenSessionInViewFilter implements Filter {

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
Session session=null;
Transaction tx=null;
try {
session=HibernateUtil.currentSession();
System.out.println("filter\t"+session.hashCode());
tx=session.beginTransaction();
//执行请求处理链   双向过滤
chain.doFilter(request, response);
//返回响应  提交事务
tx.commit();
} catch (HibernateException e) {
e.printStackTrace();
tx.rollback();
}finally{
HibernateUtil.closeSession();
}

}

public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub

}
public void destroy() {
// TODO Auto-generated method stub

}

}


OpensessionInviewFilter
配置文件



从网址访问即可达到过滤器的作用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: