使用Hibernate时,经常遇到LazyInitializationException异常,主要是在hibernate的session关闭后,去调用设有延迟加载的属性,网上也是有很多解决的方案,其中Spring提供的一个方案就是在web.xml增加一个filter,示例代码如:
<filter>
<filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
<filter-class>
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
上面是JPA的配置,使用hibernate配置差不多只是包名不一样罢了。
分享到:
相关推荐
为了解决这个问题,我们需要在`web.xml`中配置Spring的`OpenEntityManagerInViewFilter`。这个过滤器保持EntityManager在请求生命周期内开放,使得懒加载(lazy-loading)能在DWR调用结束后仍然有效。 配置`...
在 hopsuncms\WebRoot\WEB-INF\web.xml 中添加 openEntityManagerInViewFilter 过滤器,以便实现事物管理。 ``` <filter-name>openEntityManagerInViewFilter <filter-class>org.springframework.orm.jpa....
CRUD、翻页整合示范外,还涉及到了诸多企业开发时的细节:基于Restful 风格的 URL、使用 JPA 二级缓存、使用 @ResponseBody 注解完成 Ajax、把超链接转换为 DELETE 请求、OpenEntityManagerInViewFilter、修改状态下...
1. **Open Session in View (OSIV)**:这是一种将Session保持开放到视图渲染完毕的设计模式,通常通过Spring的`OpenEntityManagerInViewFilter`或`OpenSessionInViewInterceptor`实现。但这可能导致长时间的数据库...
本资源包含了一个关于JPA的小型示例项目,包括源代码和jar文件,方便学习和理解JPA的用法。 首先,我们要理解JPA的核心概念。JPA通过ORM(Object-Relational Mapping)机制将Java类映射到数据库表,这样我们就可以...
Spring通过其开放资源管理器(OpenEntityManagerInViewFilter)和事务管理器(PlatformTransactionManager)来支持JPA,使得在Spring应用中使用JPA变得简单而高效。 在Maven中,这个jar文件通常作为依赖项添加到...
- 可以使用Spring的`OpenEntityManagerInViewFilter`,以确保在JSF请求处理期间保持数据库会话的开放状态。 5. **实体类和映射文件**: - 实体类是Java对象,它们代表数据库中的表。每个实体类通常有一个与之对应...
- **OpenEntityManagerInViewFilter**:此过滤器使得`EntityManager`能够在视图渲染过程中保持打开状态。这是Spring针对Hibernate的非JPA实现使用的`OpenSessionInViewFilter`的JPA版本。 #### 2. ...
<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter <filter-name>openEntity <url-pattern>/* ``` 报错二:no serializer 懒加载报错的第二个问题是no serializer报错。...
OpenEntityManagerInViewFilter OpenEntityManagerInViewInterceptor OpenPersistenceManagerInViewFilter OpenPersistenceManagerInViewInterceptor OpenSessionInViewFilter OpenSessionInViewFilter ...