Подтвердить что ты не робот

Порядок сохранения списка в JPA

У меня есть следующий вопрос о JPA:

Можно ли сохранить порядок элементов в java.util.List? В моем приложении порядок, в котором я помещаю элементы в списки, важен, но после того, как я получаю эти коллекции из базы данных, порядок не совпадает (как и ожидалось). Можете ли вы показать мне способ решения этой проблемы?

P.S. Не существует поля в объектах, которые я помещал в коллекции, с помощью которых я могу их заказать.

Розен

4b9b3361

Ответ 2

JPA имеет 2 типа списков. В JPA1 есть "упорядоченный список" (это то, что вы видите, упорядочивание определяется некоторым предложением SQL). В JPA2 вы можете иметь "упорядоченные списки" или, альтернативно, "индексированные списки" (где сохраняется порядок создания)... упоминается @OrderColumn. Любая реализация JPA2 должна поддерживать это, например DataNucleus.

JDO имеет индексированные списки со дня 1

Ответ 3

Вы можете сохранить порядок элементов в java.util.List. В JPA 2.0, есть хороший способ сохранить порядок элемента, используя аннотацию @OrderColumn.

Подробнее см. ссылку Колонка заказа (JPA 2.0)