Hibernate中关联维护的 “一对多/多对一”描述正确的是()
    a。 可以采用List 来配置            b。可以采用set来配置、Bag。
c。 在一对多的情况下一般讲一端的inverse 设为 false ;
d。 可以采用Map来配置我选c 还有其他的看法么?

解决方案 »

  1.   


    选a?  我记得我只用过set。
      

  2.   

    都对 。。 下面是别人写的http://topic.csdn.net/u/20080724/15/193528b5-d89d-4a35-bdf2-8451a10fe5cd.html简单的说,这些集合类除了bag,都有其对应的JDK中接口的语义。它们都可以表示一对多或多对多。 
    Set对应于java.util.Set接口,表示一个没有重复元素的集合。 
    怎样区别重复元素?这就涉及到对象的同一性。我们知道在数据库中,我们用主键来区分每一条记录,在Java的对象世界中,我们是用Object.equals()方法来区分是否是等价的对象。 
    set保证,在这个集合中,没有重复的对象。即,没有任何对象之间用equals比较返回true。如果我们正确地覆盖了entity类中的equals方法,我们就能保证在set映射中,set没有重复对象。 
    bag没有对应语义的JDK接口,它对应的是java.util.Collection接口,它表示一个可以有重复元素的集合。 
    list对应JDK的java.util.List接口,可以有重复元素。 
    array对应对象数组,Hibernate也不建议使用。 
    除了上面的集合类,还有一个map映射,对应java.util.Map,当然语义上说就是值名对。 
    这些集合类都可用,主要看你以什么角度,怎样的使用方式来使用。区别就是上面所讲的。 
      

  3.   

    那个帖子中没有提及可以使用map 来配置的