liuzhen6835 2015-10-03 09:19 采纳率: 51.2%
浏览 1466

在web.xml中添加了OpenSessionInViewFilter依然有延迟加载的错误

web.xml

<?xml version="1.0" encoding="UTF-8"?>
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

OpenSessionInViewFilter
org.springframework.orm.hibernate.support.OpenSessionInViewFilter


OpenSessionInViewFilter
/*


contextConfigLocation
classpath:applicationContext.xml


org.springframework.web.context.ContextLoaderListener


index.jsp


struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter



struts2
/*

struts.xml


<!-- 交给spring来配置 -->


DAO层:
@Repository
public class CommonDaoImpl implements ICommonDao
{
private HibernateTemplate hibernateTemplate;
@Resource
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
@Override
public List queryAll(String hql)
{
return this.hibernateTemplate.find(hql);
}
Biz层:
@Service
public class CrmBizImpl implements ICrmBiz
{
private ICommonDao sysRightDao;
@Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true)
public List queryAllRight()
{
return sysRightDao.queryAll("Form SysRight");
}
@Resource
public void setSysRightDao(ICommonDao sysRightDao)
{
this.sysRightDao = sysRightDao;
}

}
Test:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:/applicationContext.xml")
public class JTest extends AbstractJUnit4SpringContextTests
{
@Resource
private CrmAction crmAction;
@Test
public void test()
{
........
}
在我用spring test+junit进行测试的时候是 no session or session was closed
org.hibernate.LazyInitializationException: failed to lazily initialize

  • 写回答

1条回答 默认 最新

  • 大河行脚 2015-10-03 10:29
    关注

    这个应该不是你的配置问题而是你的代码问题;而且用OpenSessionInViewFilter也不是最好的选择;当你页面量很大而且网站访问量很大时,一打开渲染页面
    就让session开着,这对数据库造成很大的压力的;通常的做法是在你的事务类中强行的初始化页面,也就是在这个类里写一句废话让代理立即执行就行了;

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog