gpt4 book ai didi

hibernate - Hibernate中Set和Bag的区别

转载 作者:行者123 更新时间:2023-12-03 10:56:17 25 4
gpt4 key购买 nike

Set之间的主要区别是什么?和 Bag Hibernate 中的集合?
我们应该在什么场景下使用SetBag ?

最佳答案

一个 <bag>是一个无序集合,可以包含重复的元素。这意味着,如果您保留具有某种元素顺序的包,则在检索集合时不能期望保留相同的顺序。 Java集合框架中没有“包”的概念,所以我们只使用一个java.util.List对应于 <bag> .

一个 <set>类似于 <bag>除了它只能存储唯一的对象。这意味着集合中不能包含重复的元素。当您第二次将相同的元素添加到集合中时,它将替换旧的元素。默认情况下,集合是无序的,但我们可以要求对其进行排序。 Java中a对应的类型是java.util.Set .

例子

制图 <set>

 <set name="employees" table="employee"
inverse="true" lazy="true" fetch="select">
<key>
<column name="department_id" not-null="true" />
</key>
<one-to-many class="net.viralpatel.hibernate.Employee" />
</set>

制图 <bag>
  <bag name="employees" table="employee"
inverse="true" lazy="true" fetch="select">
<key>
<column name="employee_id" not-null="true" />
</key>
<one-to-many class="net.viralpatel.hibernate.Employee" />
</bag>

因此,两者在 hbm 文件中的映射方式完全相同。但不同之处仅在于它处理重复记录的方式。

来源: Hibernate One to Many XML Tutorial

关于hibernate - Hibernate中Set和Bag的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13812283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com