cargoj
2011-08-02 21:17
浏览 272
已采纳

hibernate3 延迟加载报错could not initialize proxy - no session

web.xml
[code="java"]


OpenSessionInViewFilter
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter

sessionFactoryBeanName
SessionFactory


singleSession
true



OpenSessionInViewFilter
/*


struts2

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


struts2
/*

[/code]

映射:
[code="java"]



















index






[/code]

DAO:
[code="java"]
public BulletinIndex findIndexById(String id){
return (BulletinIndex) sessionFactory.getCurrentSession().load(BulletinIndex.class, id);
};
[/code]

看了不少博文,问题没有解决。如果不用load而直接写一个不带关联对象的查询不会报错,但执行出来的时候hibernate会添加上另一个关联对象的查询。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • suziwen 2011-08-03 16:50
    已采纳

    你这是在单元测试啊,单元测试的话
    OpenSessionInViewFilter不起作用

    也就是说session用完一次就自动 关闭了,并不能保证像WEB那样直到请求结束才关闭
    你的级联加载策略又是慢加载

    所以就报空了

    如果lazy="proxy"改成
    lazy="false"

    应该是没问题 的

    评论
    解决 无用
    打赏 举报
  • 查看更多回答(8条)

相关推荐 更多相似问题