🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 19.5.2\. Lists, maps 和sets用于更新效率最高 根据我们上面的讨论,显然有序集合类型和大多数set都可以在增加、删除、修改元素中拥有最好的性能。 可论证的是对于多对多关联、值数据集合而言,有序集合类比集合(set)有一个好处。因为`Set`的内在结构, 如果“改变”了一个元素,Hibernate并不会`更新(UPDATE)`这一行。 对于`Set`来说,只有在`插入(INSERT)`和`删除(DELETE)` 操作时“改变”才有效。再次强调:这段讨论对“一对多关联”并不适用。 注意到数组无法延迟载入,我们可以得出结论,list, map和idbags是最高效的(非反向)集合类型,set则紧随其后。 在Hibernate中,set应该时最通用的集合类型,这时因为“set”的语义在关系模型中是最自然的。 但是,在设计良好的Hibernate领域模型中,我们通常可以看到更多的集合事实上是带有`inverse="true"` 的一对多的关联。对于这些关联,更新操作将会在多对一的这一端进行处理。因此对于此类情况,无需考虑其集合的更新性能。