实体类代码呢?
这个和数据库没关系,导航不过去是实体类的问题。确保 Topic 有 UserInfo 属性,
而 UserInfo 有 UserFace 属性。

解决方案 »

  1.   


    可以确保有你说的属性,只不过Topic只是通过UserInfo才有userFace的属性。
    所以我猜想可能是这里出问题。 
      

  2.   

    采用延迟加载解决吧,该是你缓存里面没UserFace对象了
      

  3.   

    首先确保配置正确。延迟加载下,session关闭,是因为你取得 topic 对象后,session.close()了;(仔细检查代码)
    这时只得到了 topic 的对象中自身的属性,并没有得到 级联对象的那个属性。如:
    也就是说 topic 对象的 userInfo 属性值没有得到。所以,你再 ${topic.userInfo.username} 时候就会报错:session关闭解决办法:1. 取得 topic 对象后不要session.close(),使用完 ${topic.userInfo.username} 后再关闭。这样的话就得要好好考虑什么时候关闭session了。2. 再写个topic相对应的DTO类:Data Transfer Object(数据传输对象),也是先不关闭 session ,得到 topic 后,把要显示到页面的信息传给topic对应的DTO类,在关闭session,页面上只需用DTO这个类就ok了。还有个方法,也可以参考哈
    org.hibernate.Hibernate
        static void initialize(Object proxy)
            Force initialization of a proxy or persistent collection.
      

  4.   

    懒加载问题解决hibernate懒加载的问题:<filter>
      <filter-name>hibernateFilter</filter-name> 
      <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> 
      </filter>
    <filter-mapping>
      <filter-name>hibernateFilter</filter-name> 
      <url-pattern>/*</url-pattern> 
    </filter-mapping>
      

  5.   

    ${topic.userInfo.userFace.name}.提示报错,session关闭。肯定是不能这样用的,原因是:Session的Scope只在这个类中,
       你在JSP中用了,肯定是报错...
        
      

  6.   

    opensessioninviewfilter应该可以解决