Hibernate сохраняет списки с начальным индексом 1 вместо 0 - PullRequest
1 голос
/ 27 февраля 2020

Мы используем Hibernate для сохранения списка сущностей, используя OrderColumn для поддержания их порядка.

class MyObject {

...

   @OneToMany(mappedBy = "myobject", cascade = {CascadeType.PERSIST, CascadeType.DETACH, CascadeType.MERGE, CascadeType.REFRESH})
   @OrderColumn(name = "index_number")
       private List<sampleElement> sampleElement;
}

При сохранении списка элементов index_number начинается с 1, а в документации предлагается, чтобы оно начиналось с 0. Это также вызывает проблему при чтении, поскольку список чтения содержит элемент null в позиции 0.

Мы немного осмотрелись и немного не в себе. Есть предложения?

1 Ответ

0 голосов
/ 27 февраля 2020

Его можно настроить с помощью @ListIndexBase.

Определяет значение начального индекса для индекса списка, хранящегося в базе данных. Эта база вычитается из входящего значения базы данных при чтениях для определения позиции списка; он добавляется в индекс позиции списка при записи в базу данных. По умолчанию индексы списка хранятся начиная с нуля.

  @OneToMany(mappedBy = "myobject", cascade = {CascadeType.PERSIST, CascadeType.DETACH, CascadeType.MERGE, CascadeType.REFRESH})
  @OrderColumn(name = "index_number")
  @ListIndexBase(1)
  private List<sampleElement> sampleElement;

См. Также этот раздел документации по спящему режиму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...