BaiDaiCEO 2008-06-22 18:09
浏览 257
已采纳

关于Spring的OpenSessionInViewFilter的Hibernate会话

[/b]
这个表有N个外表关联,然后再web.xml中加上了过滤,成功的在web展示页面中显示每个BcmGood的数据,但是我加了WorkHibernateFilter过滤以后,其他(单表业务)模块的根本不能做相应业务处理(saveorupdate,del),望大家多多指教,qq:289450605 一直在线。
[code="java"]

WorkHibernateFilter
com.***.fiter.IDEHibernateFilter


WorkHibernateFilter
/*

[/code]

IDEHibernateFilter.java
[code="java"]
public class IDEHibernateFilter extends OpenSessionInViewFilter
{
protected Session getSession(SessionFactory sessionFactory)
throws DataAccessResourceFailureException
{
Session session = SessionFactoryUtils.getSession(sessionFactory, true);
session.setFlushMode(FlushMode.AUTO);
return session;
}
}
[/code]

[b]问题补充:[/b]
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">








PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED



[b]问题补充:[/b]
在没有加OpenSessionInViewFilter过滤的时候,单表业务成功操作,显示相应结果。然后BcmGood是一张一对多表,用列表显示时报session close,然后加上OpenSessionInViewFilter过滤,其它(一对一)表的业务像del和saveorupdate,业务无法操作成功。这个执行过程中,无异常抛出。

  • 写回答

5条回答 默认 最新

  • iteye_20052 2008-06-24 11:10
    关注

    OpenSessionInViewFilter作用就是在调用你写的代码前绑定session,只要保证它早于你的Action执行就可以了,
    给你个参考的配置:
    <?xml version="1.0" encoding="UTF-8"?>
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <!-- *************************************************************************start******** -->
    demo
    <!-- **********************************************************************context-param*********** -->
    <!--spring配置-->

    contextConfigLocation
    classpath*:appContext*.xml

    <!-- ***********************************************************************listener********** -->
    <!--spring配置-->


    org.springframework.web.context.ContextLoaderListener


    <!-- **********************************************************************filter*********** -->
    <!-- 中文过滤器 -->

    Set Character Encoding
    com.syj.util.SetCharacterEncodingFilter

    encoding
    GBK


    <!-- hibernate3 OpenSessionInView 模式 -->

    OpenSessionInViewFilter

    com.syj.util.OpenSessionInViewFilter


    <!--struct配置 -->

    Struts2

    org.apache.struts2.dispatcher.FilterDispatcher


    <!-- **********************************************************************filter-mapping*********** -->
    <!-- 中文过滤器 -->

    Set Character Encoding
    /*

    <!-- hibernate3 OpenSessionInView 模式 注意:一定配置struct mapping的前面-->

    OpenSessionInViewFilter
    .do

    <!--struct配置 注意:一定配置OpenSessionInView mapping的后面-->

    Struts2
    /

    <!-- ************************************************************************servlet********* -->
    <!-- 负责系统初始化的启动Servlet -->

    initServlet
    com.syj.action.InitServlet
    1

    <!-- 配置图形码 -->

    codeFact
    com.syj.util.CodeFact

    <!-- jfreechart显示图表 -->

    DisplayChart

    org.jfree.chart.servlet.DisplayChart


    <!-- ************************************************************************servlet-mapping********* -->
    <!-- 负责系统初始化的启动Servlet -->

    initServlet
    /initServlet

    <!-- 配置图形码 -->

    codeFact
    /codeFact

    <!-- jfreechart显示图表 -->

    DisplayChart
    /servlet/DisplayChart

    <!-- *************************************************************************jsp-config******** -->

    <!--syj标签库配置-->

    syj.tld
    /WEB-INF/syj.tld


    <!-- *************************************************************************end******** -->

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器