论坛首页 Java企业应用论坛

为什么双向关联的配置老是用Set 而不用 List?

浏览 21723 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-04-12  
hibernate的双向关联给我们获得关联的对象提供了很大的方便,但是Set对象却不如List对象用的那么多。hibernate本来就支持list配置的双向关联,可是为什么,资料上老是介绍set呢?
   发表时间:2007-04-13  
先入为主,一开始某些例子是用Set的
0 请登录后投票
   发表时间:2007-04-13  
我在开发中也有这个疑问,set在使用中确实不好用。如果能用list就比较好用了。
0 请登录后投票
   发表时间:2007-04-13  
顶一下
0 请登录后投票
   发表时间:2007-04-13  
也是我想问的问题.
0 请登录后投票
   发表时间:2007-04-13  
programmer 写道
我在开发中也有这个疑问,set在使用中确实不好用。如果能用list就比较好用了。
list就是bag类型,但从来没有听说过set确实不好用,而且bag和set是适用在不同场景下的,bag适合关联的集合类中有排序需求,而set没有排序,而且要override equals和hashcode方法,但是更常用的应该是set,用set的优点就是用Set的优点,用list就是用List的优点,搞清楚两者的区别和适用场景就没有什么疑惑的了
0 请登录后投票
   发表时间:2007-04-13  
set配置比list简单。
set没有顺序,list有顺序。
配置list的时候要指定list-index,也就要在数据库中对应创建一个字段表示顺序。
0 请登录后投票
   发表时间:2007-04-13  
用Set能保证集合内的元素是唯一,不重复的。
至少看上去清楚些。
我想这是主要原因吧。
0 请登录后投票
   发表时间:2007-04-13  
有什么明显的区别么
估计大多数人都是受自己看的第一本hibernate书影响来选择的,呵呵
0 请登录后投票
   发表时间:2007-04-13  
主要还是防止有重复记录吧 如果存在重复记录 set可以透明的合并
如果使用list操作起来可能要麻烦些
1 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics