最佳答案
在 JPA 域模型中使用下列哪种集合类型以及原因:
java.util.Collection
java.util.List
java.util.Set
我想知道是否有一些基本规则。
我知道 Set
和 List
的区别。List
允许重复并且有一个顺序,而 Set
不能包含重复的元素并且不定义顺序。我是在 JPA 的背景下提出这个问题的。如果你严格遵循定义,那么你应该总是使用 Set
类型,因为你的集合存储在关系数据库中,在那里你不能有重复的,并且你已经自己定义了一个顺序,也就是说,在你的 Java 中的顺序不一定保留在数据库中。
例如,大多数时候我使用的是 List
类型,不是因为它有订单或允许重复(我无论如何都不能有) ,而是因为我的组件库中的一些组件需要一个列表。