/*Party party=(Party)session.get(Party.class,new Integer(1));
    System.out.println(((SubParty1)party).getSubPartyName());
    System.out.println(((SubParty2)party).getSubParty2Name());
    System.out.println(party.getPartyName());*/一段代码犯了好几个错误,你可以这样操作:
Party party=(Party)session.get(SubParty1.class,new Integer(1));
System.out.println(((SubParty1)party).getSubPartyName());
或者
Party party=(Party)session.get(SubParty2.class,new Integer(1));
System.out.println(((SubParty2)party).getSubPartyName());
具体怎么操作,要看你在save的时候用什么类来存储,及非公共数据数据到底是存储到哪个子表内

解决方案 »

  1.   

    上面第四行代码应该为:
    System.out.println(((SubParty2)party).getSubParty2Name());
    不好意思
      

  2.   

    晕  弄得这么麻烦的?你还不如使用one-to-one关联解决这个问题。
      

  3.   

    to  arrowkylin(老杨) 运行到    System.out.println(((SubParty2)party2).getSubParty2Name());
    java.lang.ClassCastException
    错误依旧,是不是我上面的配置文件有问题??
      

  4.   

    配置文件没有问题,是你在类型转换时发生了错误,可能你存储时的类型为SubParty1而你用SubParty2类型来转换,就导致出错,把你的存储和访问的代码贴上来看看