diypyh 2017-03-20 03:06 采纳率: 16.7%
浏览 832
已采纳

关于hinernate “no Session”的问题

最段自己在研究项目,发现一个很奇怪的现象,就是这个”could not initialize proxy - no Session“。

我已经在web.xml中加入了”openSessionInView“的过滤器,在JSP页面上是可以读取到关联对象的。可是在我登录时处理登录信息的时候报了这个错,真是无语了。

看看我的代码吧:
1、用户登录成功,发布登录事件

2、接收到登录事件,处理登录信息

3、处理授权信息,然后封装用户

4、封装用户时报错了

报错了:

有谁遇到过这样的问题呢?

  • 写回答

3条回答 默认 最新

  • 关注

    解决方法一:但如果我们在hibernate用get方法就可以解决取单个对象的问题,因为get方法直接发sql语句,把我们想的数据从数据库中get出来然后放在内存中。
    如果我们取单个对象可以用get方法没有问题;但是如果我们取的的对象还有关联对象时用get就有问题,因为它不会把关联的对象取出来,但如果页面上用到关联的对象时也会报no session的问题
    解决方法二:用到srping的filter(要加在strutsfilter有前面,因为它也有先后顺序,有先进先出的原则)
    在我们的web.xml里面加上

     <filter>
    <filter-name>openSessionInView</filter-name>
    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>openSessionInView</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    

    这样做就是让opensession closesession全交给视图部分,最后视图部分用完了session再去关session就不会有上面的错误了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题