Java Hibernate中的包和列表有什么区别?

Java Hibernate中的包和列表有什么区别?,java,hibernate,bag,Java,Hibernate,Bag,在hibernate中,映射集合时,包的行为类似于列表: 它是无序的 它允许复制 当两种行为彼此相似时,为什么我们会有bag?NHibernate语义: 列表:实体的有序集合,允许重复。在代码中使用.net IList。索引列需要映射到NHibernate中 集合:唯一实体的无序集合,不允许重复。在代码中使用Iesi.Collection.ISet。重写GetHashCode和Equals以指示duplicate的业务定义非常重要。可以通过定义orderby或通过定义比较器(产生SortedSe

在hibernate中,映射集合时,包的行为类似于列表:

  • 它是无序的
  • 它允许复制
  • 当两种行为彼此相似时,为什么我们会有bag?

    NHibernate语义:

  • 列表:实体的有序集合,允许重复。在代码中使用.net IList。索引列需要映射到NHibernate中
  • 集合:唯一实体的无序集合,不允许重复。在代码中使用Iesi.Collection.ISet。重写GetHashCode和Equals以指示duplicate的业务定义非常重要。可以通过定义orderby或通过定义比较器(产生SortedSet结果)进行排序
  • 包:无序的实体列表,允许重复。在代码中使用.net IList。NHibernate未映射列表的索引列,也不支持该列
  • 对此的回答是:

  • 列表:实体的有序集合,允许重复。在代码中使用.net IList。索引列需要映射到NHibernate中
  • 集合:唯一实体的无序集合,不允许重复。在代码中使用Iesi.Collection.ISet。重写GetHashCode和Equals以指示duplicate的业务定义非常重要。可以通过定义orderby或通过定义比较器(产生SortedSet结果)进行排序
  • 包:无序的实体列表,允许重复。在代码中使用.net IList。NHibernate未映射列表的索引列,也不支持该列
  • 从这个答案