您的位置:首页 > 编程语言 > Java开发

关于注解版Spring 延迟加载报错问题 “could not initialize proxy - no Session“

2014-09-25 20:58 387 查看
今天做一个功能时出现了这么一个错误!

用户登录成功之后 显示它的名称和职位(很典型)

我有两个表 一个用户 和一个 职位

登录成功之后 在action中把admin 放进 session 接着 在jsp上用这样获取职位:



结果一测试 : 就报下面这些错误:



哼 !

这就是典型延迟加载报错咯 spring session 生命周期 从jsp跑到dao 再回去jsp 跑完一遍 session就失效了 再拿数据就出现这种问题~

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ROLE_ID", nullable = false)
public CrmRole getCrmRole() {
return this.crmRole;
}


上面是我实体类配置

虽然加载类型是lazy 但是 我web.xml中是加了 filter的。

这种情况下 还报错 ?

然后 我在jsp 把${admin.crmRole.name } 改用 sturts2 标签 <S:property value ="employee.crmRole.name"> 之后 再次刷新

错误没了

${} 是el标签 而 <s:property value=""/>是属于sturts2的 但是呢 sturts又是spring集成的 所以 此时sturts2是可以再开一个session 去拿职位表的值

综上所述 只要替换${***.***.name } 为 <S:property value ="***.***.name"> 即可

别问我是怎么知道的 因为我他么真的编不下去了 !!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐