随笔-10  评论-23  文章-32  trackbacks-0

我的系统是使用hibernate3,struts2,spring搭建。

在我的系统中,此异常出现我感觉比较奇怪,我已经配置spring OpenSessionInViewFilter,如下
    <filter>
        <filter-name>lazyLoadingFilter</filter-name>
        <filter-class> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>lazyLoadingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

并确保将此过滤器配置到struts2之前,而且我在中没有配置fetch和lazy属性,代码中的关联对象之间的调用也是没有问题的。我认为上面的配置应该是已经起到作用了。

但是在系统中仍然可能报no session 错误,我将操作对象对应的数据库中记录的ID进行修改后,不再报此错误,修改回来后再次报错(其他任何字段都没有修改过,一次可以知道唯一导致no session错误的问题就是对象的ID,而和其他参数都没有任何关系,和spring opensessioninviewfilter也没有关系,与fetch,lazy也没有关系).

在出现此问题之前,数据库有从外来源导入过数据,通过 del plsql工具导入的。我怀疑是否与导入数据的原因有关。于是我测试通过系统功能新建了测试对象,对新建对象的操作也没有报no session错误。

对象关系图

 

解决:

我将有问题的A对象的数据库中的ID 手动修改成可以正确执行的,原有数据操作不会报错了。新建数据暂时没有发现有此问题。但是导致此问题的原因不明,如果有人有遇到和我一样的情况,请帮我解惑,十分感激。

posted on 2009-12-25 10:56 liuyimx 阅读(854) 评论(1)  编辑  收藏 所属分类: hibernate

评论:
# re: hibernate LazyInitializationException - could not initialize proxy - no Session 2010-12-30 13:41 | wade.hou
你好,我最近也碰到过你这样的问题。 不知道你解决了没?
如果 你解决了能告诉我一下吗? QQ:782191937  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: