我对这两个哈希集合的多重关系感到困惑,
从我在另一篇文章中看到的,
HashSet是一个集合,例如{1,2,3,4,5}
HashMap是一个键->值(值的键)映射,例如{a -> 1,b -> 2,c -> 2,d -> 1}
这看起来像哈希集是一个唯一的ID绑定到一组数据,例如。12,3,4,5,这在我看来是一对多的关系
而hashMap是1值的1键,这是一对一的关系。
在谷歌上证实了我的怀疑后,我最终变得更加困惑。在这篇文章中,https://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/collections.html
它显示了在一对多和多个关系中都使用的哈希集,还有在这两种关系中都使用了hashmap的帖子。
HashSet和HashMap可以同时用于一对多和多对多的关系中吗?
发布于 2018-05-24 03:49:59
说到他们的实际使用方式,不!一段关系A->B
然而,当我需要建立“一对多”的关系时,我求助于
HashMap<A,HashSet<B>>这样做确实对关系的来源执行了唯一的约束。为了避免这种情况,可以使用HashMap反向映射它。
HashMap<B,A>在许多到许多关系中,没有一个唯一的键可以用来访问一对元素。这基本上意味着整个数据集只是一个数据对的列表。
List<{A,HashSet<B>}> 其中WrapperObject具有属性标识符HashSet<>。在这里,标识符不一定是唯一的。
如果您正在使用@ManyToMany注释,Spring/Ebean在内部使用它,您不必担心表示映射,因为它在文章中的示例中是可见的。您需要从单个实例的角度设置映射。
整个实例数组将自动为您处理。
https://stackoverflow.com/questions/50500589
复制相似问题