但是B里面没有A和C的实例集合呀?
这样没法得到它们的数据的。另:是不是得到实例后要 A a=(A)B.getA();才能有呀?

解决方案 »

  1.   

    many-to-one -->只需id和class
    one-to-many -->这才需要集合(set...)
    所以你要是建立单向多对一,B表里会有A和C的2个引用,否则A或C里会有B的集合引用。
    我的建议是采用双向对应,这样可以处理不同需求的应用。
      

  2.   

    谢谢了!
    现在好像有点明白了,双向对应?多对多?都包含着?还有个很BS的问题。。
    for(int i=0;i<result.size();i++) {
    A a=(A)result.get(i);
            B b=new B();
    b=(B)a.getBlist();//这样可以吗?A中有B的Set集,这里使用强转,会得到B的实例吗?我老是报错   
      

  3.   

    那个很BS的问题我明白了,Set要用循环器。。寒啊。。
      

  4.   

    ...
    这就是一个A对C的多对多关系吗
    把hbm.xml里面的映射文件的对应关系加上级联更新就OK了
    cascade="save-update"