JPA为什么将OrderBy应用于Set

JPA为什么将OrderBy应用于Set,jpa,sql-order-by,Jpa,Sql Order By,JPA为什么将OrderBy应用于Set @实体 公共阶层人士{ ... @元素集合 @OrderBy(“zipcode.zip,zipcode.plusFour”) 公共设置getResidences(){…}; ... } 这台电视机应该没有订过。注释@OrderBy有意义吗 关于集合类型的属性 我认为标记为已检查的问题的答案也可以回答您的问题。 如前所述,注释“指定在检索关联或集合时集合值关联或元素集合的元素的顺序” 据我所知,注释不一定与元素插入到我们在entity类中使用的集合类型

JPA为什么将OrderBy应用于Set

@实体
公共阶层人士{
...
@元素集合
@OrderBy(“zipcode.zip,zipcode.plusFour”)
公共设置getResidences(){…};
...
}
这台电视机应该没有订过。注释@OrderBy有意义吗
关于集合类型的属性

我认为标记为已检查的问题的答案也可以回答您的问题。 如前所述,注释“指定在检索关联或集合时集合值关联或元素集合的元素的顺序”


据我所知,注释不一定与元素插入到我们在entity类中使用的集合类型上的顺序有关。

集合应该是非顺序的:这取决于集合实现。例如,LinkedHashSet具有定义良好的顺序。这可能是文档错误,或者更合理地说,在这种情况下,JPA提供程序必须确保使用有序的集合实现。集合是不允许重复的集合。它对排序没有限制,因此OrderBy在集合上与在列表或集合上一样有效。“它对排序没有限制”?这是什么意思?
@Entity 
public class Person {
     ...
   @ElementCollection
   @OrderBy("zipcode.zip, zipcode.plusFour")
   public Set<Address> getResidences() {...};
   ...
}