就像您自己的问题所建议的那样, 关键是域,而不是JPA
。JPA只是一个您可以(并且应该)以最适合您的问题的方式使用的框架。由于框架(或其限制)而选择次优解决方案通常是一个警告。
当我需要一套而不关心订单时,可以使用
Set。如果出于某种原因订单很重要(排序列表,按日期排序等),则输入
List。
你似乎是了如指掌之间的差异
Collection,
Set以及
List。使用一个vs.另一个的唯一原因仅取决于您的需求。您可以
使用它们与您的API(或您将来的自己)的用户交流您集合的属性 (可能是微妙的或隐含的)。
这与在整个代码中其他任何地方使用不同集合类型时遵循的规则完全相同。您可以使用
Object或
Collections供所有参考使用,但是在大多数情况下,您将使用更具体的类型。
例如,当我看到一个时
List,我知道它是以某种方式排序的,在这种情况下,重复项是可以接受的还是无关紧要的。当我看到时
Set,我通常希望它没有重复且没有特定的顺序(除非是
SortedSet)。当我看到一个时
Collection,除了包含一些实体,我不希望它有更多。
关于列表排序…是的,可以保留。即使不是,而您只是使用
@OrderBy,它仍然会很有用。考虑默认情况下按时间戳排序的事件日志示例。人工对列表进行重新排序没有什么意义,但是默认情况下对其进行排序仍然很有用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)