在你的FroumTopic里面是否又FroumReply的集合属性,如果没有就肯定错了,因为要跟配置文件相对应的。

解决方案 »

  1.   

    for (int i=0; i< list.size(); i ++) 
    System.out.println(((FroumTopic)list.get(i)).getReplys());//代码出错之处 
    } catch (HibernateException e)
    如果你建立了关系的话
    FroumTopic.getReplys()应该返加的是一个Replys的set集合,怎么能直接打印呢
    ((FroumTopic)list.get(i)).getReplys()是一个set对象
      

  2.   

    TO  bluelily22(丁丁) :
      其实返回的是List集合,而不是set.
    set不能直接打印?
    如下:
    public static void main(String[] args) {
    Set set = new HashSet();
    set.add(new Object());
    set.add("a");
    set.add("b");
    System.out.println(set);
    }
    输出:[java.lang.Object@42719c, a, b]
      

  3.   

    TO fengyun1314(追梦) :
      FroumTopic里面有FroumReply的属性啊!
    映射:
    <class name="FroumTopic" table="FROUMTOPIC" 
    discriminator-value="N"> 
    ...
    <list name="replys" inverse="true" 
    cascade="all-delete-orphan"> 
    <key column="TOPICID" foreign-key="Froum_TopicId" 
    not-null="true" on-delete="cascade" update="true" /> 
    <index column="R_TIMESTAMP"/> 
    <one-to-many class="FroumReply" /> 
    </list> 
    ...
    </class><class name="FroumReply" table="FROUMREPLY" 
    discriminator-value="N"> 
    ...
    <many-to-one name="froumTopic" insert="true" update="true" 
    class="FroumTopic" cascade="all" not-null="true" column="TOPICID" /> 
    </class> FroumTopic:
    public class FroumTopic { private List replys; public List getReplys() { 
    return replys; 
    } public void setReplys(List replys) { 
    this.replys = replys; 

    ...
    }这样写不指明了replys的集合属性是FroumReply吗?如果不是,又该如何写?
      

  4.   

    我测试发现一个问题,我新增一个父子实例时发现子的topicId为空,就算session.flush也是一样,数据库中倒是对的,不知如何解决?