问题标签 [open-session-in-view]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1740 浏览

hibernate - Spring JSF OpenSessionInViewFilter

我在使用 Spring 3.0.2、hibernate3 和 jsf2 让 OpenSessionInViewFilter 工作时遇到了很大的麻烦。

场景:

有一个 BusinessCaseEntity 包含一些简单的信息属性(字符串和 int 类型)和映射的 EmployeeEntities 列表。此列表映射为

fetch=FetchType.LAZY

首先,我加载所有 BusinessCases 的列表并将它们显示在表格中。为此,我使用了一个 dao 类。显示具有简单属性的商业案例。例如,如果我选择一个特定的商业案例,我想展示相关的员工。因此我只想使用businesscase对象的getter方法——> getEmployees()

以我对 spring 和 hibernate 的简单理解,我知道此时的 BusinessCaseEntity 与后端的任何 spring 和 hibernate(session) 是分离的,并且出现了著名的 LazyLoadingException。

这就是我认为 OpenSessionInViewFilter 到位的地方。我阅读了很多关于如何使用它的说明,但我仍然无法让它在我的应用程序中运行。

在我的 web.xml 中配置了过滤器,我创建了 spring 的 OpenSessionInViewFilter 的一个小子类来做一些输出以用于调试目的。

然而,当涉及到获取所需数据时,过滤器会打​​开一个新会话,然后抛出 LazyLoadException,然后过滤器关闭会话。为什么会话当前打开时会出现 LazyLoadException?

我是否以某种方式误解了 OpenSessionInViewFilter 的目的?

我现在很迷茫,非常感谢一些帮助。

谢谢 - 克里斯

0 投票
1 回答
4742 浏览

hibernate - OpenSessionInViewFilter 不起作用

请有人救救我,我不能延迟加载我的课程,我尝试编写 Open Session In View 策略,但它似乎不起作用。网页.xml:

这是我的spring-servlet.xml:

我的 BookDAO.class:

和我的控制器:

当我想访问我的 book.jsp(浏览器中的 book.do)站点时,我遇到了异常:

0 投票
1 回答
951 浏览

hibernate - 事务不回滚

我在我的应用程序中使用 OpenSessionInView。我的目标是在发生任何异常时以一种方法回滚数据库中的所有更改。这是我的控制器:

使用下面给出的配置,它可以工作:在 web.xml 中:

但是在这种策略中,我无法保存/更新视图中的任何行。所以我像这样覆盖了 OpenSessionInViewFilter:

现在我可以保存/更新,但事务不回滚......如何让它们同时工作?

0 投票
1 回答
14852 浏览

hibernate - 使用 Spring 3 和 Servlet 3 配置 OpenSessionInViewFilter

我想配置OpenSessionInViewFilter为能够在视图中使用休眠延迟初始化,所以我在 web.xml 中添加了过滤器定义,但它不起作用我仍然得到相同的延迟初始化异常,这就是我所做的:

应用上下文:

请告知为什么我仍然收到延迟初始化异常,在此先感谢。

0 投票
2 回答
231 浏览

java - WicketTester 与 Hibernate

我目前正在研究如何使我的 Wicket 应用程序可测试。

基本上,它是一个 Wicket / Hibernate / Apache Derby 设置。Hibernate 用作过滤器(参见:http: //community.jboss.org/wiki/OpenSessionInView / 请参阅 HibernateSessionRequestFilter),并有一个 hibernate.cfg.xml 文件作为配置。

我想要做的是能够将 WicketTester 与自定义数据库一起使用,我可以在每次测试运行时从头开始重建。理想情况下,测试将包含 Hibernate 的连接参数

基本上,我的问题是如何动态或在启动时切换我的数据库?

更抽象的是:这种测试的好方法是什么?

0 投票
1 回答
566 浏览

nhibernate - Spring.NET + NHibernate + 请求范围内的对象不能很好地协同工作

我在 ASP.NET 应用程序中使用 Spring.NET 1.3.2、NHibernate 3.1 和 OSIV 模式。

我有一个EventListener需要限定请求范围的自定义,因为它使用 HttpContext.Current.Items 作为构造函数依赖项。

由于ISession也是请求范围,我应该能够使用 Spring.NET 为我管理这些依赖项。

问题是 EventListener,就像,是一个不受请求范围限制IInterceptor的属性(ISessionFactory它是一个单例)。Web 对象范围之间的不匹配是有问题的。

我尝试了以下 XML 片段,但条件表达式总是产生 null。我认为这是由于 SpringEventListener在应用程序级别范围内创建对象,并且之前HttpContext.Current.Items有机会被填充。

所以我的要求是:

  1. 在 Spring 中配置自定义EventListener对象,以便在每个请求的基础上创建它

  2. EventListener实例化必须在请求生命周期中发生得足够晚,以便 HttpContext.Current.Items['Princpial'] 已由自定义 IHttpModule 填充

  3. EventListener实例被注入到当前的OSIVISession

0 投票
1 回答
4546 浏览

java - java.lang.ClassNotFoundException:org.springframework.orm.hibernate.support.OpenSessionInViewFilter

我是 spring/hibernate 的新手,正在尝试我的第一个应用程序。我被这个错误困住了,起初有类似“没有会话工厂绑定到线程”的错误。我通过在下面给出的 web.xml 中声明一个 OpenSessionInView 过滤器来解决它

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> cricket_calendar

现在我得到这个类未找到错误,但如果我 ctrl-shift-t 并搜索它,它在 orm jar 中。IE 在此处输入图像描述

不知道是什么问题,拜托,任何帮助将不胜感激:)

编辑:完整的堆栈跟踪

0 投票
1 回答
370 浏览

hibernate - 使用 EJB 在视图中打开会话

如何使用 EJB 在视图模式中打开会话???

我找到了 Servlet,但不是 EJB

非常感谢!

0 投票
0 回答
337 浏览

hibernate - Sitemesh 和 OpenSessionInViewFIlter/Interceptor 有什么关系?

我现在对我的项目和配置感到非常非常沮丧,因为在网上进行了如此多的研究之后,在这里这里的 stackoverflow 中发布 我仍然遇到这个著名的延迟初始化异常的障碍。我确实实现了过滤器或拦截器。我确实将调度程序应用程序配置与其余部分分开。配置应用程序上下文和调度程序之间没有跨组件扫描。

然而仍然有这个例外。我现在真的没有选择,时钟在我头顶滴答作响。

sitemesh 和 OpenSessionInViewFilter 或 OpenSessionInViewInterceptor 有什么问题吗?

这是异常本身

我们使用 Hibernate GenericDAO。这是我们对 GenericDAO 的配置

感谢您阅读本文并提供帮助

0 投票
2 回答
1584 浏览

java - “未能延迟初始化角色集合”即使我使用 OSIV 模式也会发生异常

我正在使用OpenSessionInViewInterceptor来避免 LazyInitializationException。

它工作得很好,但有时即使我使用的是 OSIV,也会发生 LazyInitializationException。例外情况如下:

更奇怪的是,异常日志只在日志文件中,浏览网站没有问题。

这是怎么回事?