Предложение OrderBy используется только в том случае, если Hibernate выбрал объекты из базы данных. Как только список находится в памяти, он работает как любой другой список на Java. Если вы добавите что-то в список, метод List.add()
работает так, как это описано в его javadoc, и элемент добавляется в конце списка.
Если вы хотите, чтобы новый элемент был вставлен в соответствующий индекс в списке, вам нужно будет найти этот индекс самостоятельно или добавить его в список и отсортировать список, используя Comparator, который заказывает элементы на основе по прибытии, времени прибытия и т. д.
И, конечно, имейте в виду, что если вы измените одно из этих полей в элементе, который уже есть в списке, список больше не будет иметь порядок буксировки.
Возможно, вам следует полностью исключить аннотацию @OrderBy и просто добавить в свой объект метод getSortedItems()
, который вернет отсортированную копию списка элементов.
Другим вариантом является использование @ org.hibernate.annotations.Sort, который устанавливает SortedSet/SortedMap с предоставленным компаратором. –