【问题标题】:What is the difference between bags and lists in Hibernate?Hibernate中的包和列表有什么区别?
【发布时间】:2016-04-11 11:56:22
【问题描述】:

在hibernate中,当映射一个集合时,Bag的行为类似于列表:

  1. 它是无序的
  2. 允许重复

当两者的行为彼此相似时,为什么我们有包?

【问题讨论】:

    标签: java hibernate bag


    【解决方案1】:

    NHibernate 语义:

    1. 列表:实体的有序集合,允许重复。在代码中使用 .net IList。索引列需要在 NHibernate 中映射。
    2. 设置:唯一实体的无序集合,不允许重复。在代码中使用 Iesi.Collection.ISet。重载 GetHashCode 和 Equals 以指示重复的业务定义很重要。可以通过定义 orderby 或定义导致 SortedSet 结果的比较器进行排序。
    3. 包:实体的无序列表,允许重复。在代码中使用 .net IList。列表的索引列未映射且不受 NHibernate 支持。

    来自Post的答案

    【讨论】:

      猜你喜欢
      • 2011-08-06
      • 2021-09-11
      • 2011-08-17
      • 2011-12-27
      • 2018-06-12
      • 1970-01-01
      • 2013-04-03
      相关资源
      最近更新 更多