Hibernate: @OrderBy vs @OrderColumn, aby zachować kolejność kolekcji

Jaki jest preferowany sposób utrzymania kolejności kolekcji podczas jej trwania, a także podczas pobierania z bazy danych?

Wiem, że @OrderBy jest bardziej sortowaniem w pamięci, które może działać przy pobieraniu tylko wtedy, gdy porządkujesz wiersze w kolejności wybranej przez ciebie kolumny.

Powiedzmy, że wybrałem użycie kolumny popartej sekwencją bazy danych, zapadnie w stan hibernacji, upewnij się, że elementy w kolekcji są zachowane w tej samej kolejności, jak w kolekcji (powiedz List).

Jakiekolwiek myśli?

Więcej szczegółów:

Powiedzmy, że mam klasę A, która ma relację jeden do wielu z klasą B. B ma pole klucza podstawowego, „Id”, które jest poparte sekwencją w DB.

Class A {
  List<B> bList;
}

Zawsze chciałem zachować kolejność elementów B w A jak poniżej:

bList = { b1, b2, b3 }

Jednym ze sposobów osiągnięcia tego jest użycie @OrderBy („Id ASC”). Będzie to działać tylko wtedy, gdy lista B zostanie utrzymana w kolejności jak poniżej:

----------------
Id ----bValue
----------------

1------ b1
2------ b2
3-------b3
------------------

Po odzyskaniu, ponieważ jest zamawiane przez Id, zamówienie jest zachowywane.

Niech kolekcja B przetrwa w następujący sposób:

----------------
Id ----bValue
----------------
1------ b2
2------ b1
3-------b3
------------------

Po pobraniu kolejność listy B przechodzi do rzutu (ponieważ jest to kolejność według kolumny Id). Więc moje pytanie, czy kolekcja B zawsze utrzymuje się w tej samej kolejności, w jakiej pojawia się na liście, czy nie.

questionAnswers(1)

yourAnswerToTheQuestion