在hibernate中,映射集合时,Bag具有类似于列表的行为:
- 它是无序的
- 它允许重复
当两者的行为相似时,为什么我们还要有 bag?
最佳答案
NHibernate 语义:
- 列表:实体的有序集合,允许重复。在代码中使用 .net IList。索引列需要在 NHibernate 中进行映射。
- 集合:唯一实体的无序集合,不允许重复。在代码中使用 Iesi.Collection.ISet。重写 GetHashCode 和 Equals 以指示重复的业务定义非常重要。可以通过定义 orderby 或定义比较器来排序,从而生成 SortedSet 结果。
- Bag:实体的无序列表,允许重复。在代码中使用 .net IList。列表的索引列未映射,且不受 NHibernate 认可。
答案来自此Post
关于java - Hibernate 中的包和列表有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36548013/