问题标签 [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.
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 的目的?
我现在很迷茫,非常感谢一些帮助。
谢谢 - 克里斯
hibernate - OpenSessionInViewFilter 不起作用
请有人救救我,我不能延迟加载我的课程,我尝试编写 Open Session In View 策略,但它似乎不起作用。网页.xml:
这是我的spring-servlet.xml:
我的 BookDAO.class:
和我的控制器:
当我想访问我的 book.jsp(浏览器中的 book.do)站点时,我遇到了异常:
hibernate - 事务不回滚
我在我的应用程序中使用 OpenSessionInView。我的目标是在发生任何异常时以一种方法回滚数据库中的所有更改。这是我的控制器:
使用下面给出的配置,它可以工作:在 web.xml 中:
但是在这种策略中,我无法保存/更新视图中的任何行。所以我像这样覆盖了 OpenSessionInViewFilter:
现在我可以保存/更新,但事务不回滚......如何让它们同时工作?
hibernate - 使用 Spring 3 和 Servlet 3 配置 OpenSessionInViewFilter
我想配置OpenSessionInViewFilter
为能够在视图中使用休眠延迟初始化,所以我在 web.xml 中添加了过滤器定义,但它不起作用我仍然得到相同的延迟初始化异常,这就是我所做的:
应用上下文:
请告知为什么我仍然收到延迟初始化异常,在此先感谢。
java - WicketTester 与 Hibernate
我目前正在研究如何使我的 Wicket 应用程序可测试。
基本上,它是一个 Wicket / Hibernate / Apache Derby 设置。Hibernate 用作过滤器(参见:http: //community.jboss.org/wiki/OpenSessionInView / 请参阅 HibernateSessionRequestFilter),并有一个 hibernate.cfg.xml 文件作为配置。
我想要做的是能够将 WicketTester 与自定义数据库一起使用,我可以在每次测试运行时从头开始重建。理想情况下,测试将包含 Hibernate 的连接参数
基本上,我的问题是如何动态或在启动时切换我的数据库?
更抽象的是:这种测试的好方法是什么?
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
有机会被填充。
所以我的要求是:
在 Spring 中配置自定义
EventListener
对象,以便在每个请求的基础上创建它EventListener
实例化必须在请求生命周期中发生得足够晚,以便 HttpContext.Current.Items['Princpial'] 已由自定义 IHttpModule 填充EventListener
实例被注入到当前的OSIVISession
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
不知道是什么问题,拜托,任何帮助将不胜感激:)
编辑:完整的堆栈跟踪
hibernate - 使用 EJB 在视图中打开会话
如何使用 EJB 在视图模式中打开会话???
我找到了 Servlet,但不是 EJB
非常感谢!
hibernate - Sitemesh 和 OpenSessionInViewFIlter/Interceptor 有什么关系?
我现在对我的项目和配置感到非常非常沮丧,因为在网上进行了如此多的研究之后,在这里和这里的 stackoverflow 中发布 我仍然遇到这个著名的延迟初始化异常的障碍。我确实实现了过滤器或拦截器。我确实将调度程序应用程序配置与其余部分分开。配置应用程序上下文和调度程序之间没有跨组件扫描。
然而仍然有这个例外。我现在真的没有选择,时钟在我头顶滴答作响。
sitemesh 和 OpenSessionInViewFilter 或 OpenSessionInViewInterceptor 有什么问题吗?
这是异常本身
我们使用 Hibernate GenericDAO。这是我们对 GenericDAO 的配置
感谢您阅读本文并提供帮助
java - “未能延迟初始化角色集合”即使我使用 OSIV 模式也会发生异常
我正在使用OpenSessionInViewInterceptor来避免 LazyInitializationException。
它工作得很好,但有时即使我使用的是 OSIV,也会发生 LazyInitializationException。例外情况如下:
更奇怪的是,异常日志只在日志文件中,浏览网站没有问题。
这是怎么回事?