【问题标题】:What is the difference between bags and lists in Hibernate?Hibernate中的包和列表有什么区别? 【发布时间】:2016-04-11 11:56:22 【问题描述】: 在hibernate中,当映射一个集合时,Bag的行为类似于列表: 它是无序的 允许重复 当两者的行为彼此相似时,为什么我们有包? 【问题讨论】: 标签: java hibernate bag 【解决方案1】: NHibernate 语义: 列表:实体的有序集合,允许重复。在代码中使用 .net IList。索引列需要在 NHibernate 中映射。 设置:唯一实体的无序集合,不允许重复。在代码中使用 Iesi.Collection.ISet。重载 GetHashCode 和 Equals 以指示重复的业务定义很重要。可以通过定义 orderby 或定义导致 SortedSet 结果的比较器进行排序。 包:实体的无序列表,允许重复。在代码中使用 .net IList。列表的索引列未映射且不受 NHibernate 支持。 来自Post的答案 【讨论】: