База данных предназначена для выполнения команды order by
оптимизированным способом, в то время как столбец, используемый в order by
, проиндексирован.
Так что вы должны предпочесть упорядочение базой данных, если вы можете настроить ограничения индекса на вашемстолы.
Однако, как вы знаете, Список не является наиболее подходящим для JPA, и рекомендуется использовать Set.
Я бы скорее сказал, что вы не можете злоупотреблять отображением List
в сущности, так как число приемлемых ограничено по причинам здравого смысла (кардинальности).
Вы также можете видеть вещи проще: если у вас мало элементов, я предполагаю, что использование Set
, вероятно, является приемлемым способом с точки зрения производительности.
В противном случае использование List
с order by
выполненный базой данных, вероятно, следует отдать предпочтение.
В любом случае, используйте структуру (List
или Set
), которая кажется наиболее подходящей для вашего варианта использования, а затем измерьте фактическую производительность, прежде чем менять свой дизайн, чтобы надеяться на более высокую производительность.