Каков предпочтительный способ поддержания порядка коллекции при сохранении, а также при извлечении из базы данных?
Я знаю, что @OrderBy больше относится к сортировке в памяти, которая может работать при извлечении только тогда, когда вы задаете строки в порядке расположения столбца, который вы выбрали.
Предположим, что я решил использовать столбец, поддерживаемый последовательностью базы данных, будет спящий режим, чтобы элементы в коллекции сохранялись в том же порядке, что и в коллекции (например, List).
Любая мысль?
Подробнее:
Допустим, у меня есть класс A, который имеет отношения "один ко многим" с классом B. В поле первичного ключа "Id", который поддерживается последовательностью в БД.
Class A {
List<B> bList;
}
Я всегда хотел сохранить порядок элементов B в A, как показано ниже:
bList = { b1, b2, b3 }
Один из способов достижения - использовать @OrderBy ( "Id ASC" ). Это будет работать только тогда, когда список B сохраняется в следующем порядке:
----------------
Id ----bValue
----------------
1------ b1
2------ b2
3-------b3
------------------
Когда мы извлекаем, так как он упорядочен по Id, порядок поддерживается.
Предположим, что коллекция B сохраняется следующим образом:
----------------
Id ----bValue
----------------
1------ b2
2------ b1
3-------b3
------------------
Когда мы извлекаем, порядок списка B идет для броска (поскольку это порядок по столбцу Идентификатор). Поэтому мой вопрос, если коллекция B всегда сохраняется в том же порядке, что и в списке, или нет.