Я получаю List<MyDto> dtos
с 14 MyDto
и пытаюсь сохранить его в базе данных.
Я получаю List<MyDto>
цикл dtos
и на каждом шаге:
2,1 -> карта MyDto
в MyEntity
2.2) -> сохранить и сбросить MyEntity
в БД
Я ожидаю 14 строк в БД, сохраненных в том порядке, в котором я их сохранил. Например:
row0
row1
row2
row3
row4
row5
row6
row7
row8
row9
row10
row11
row12
row13
Отлично работает на всех экземплярах приложений с PostgreSQL и Oracle.
Но в одном случае, который работает с Oracle, у меня странное поведение. Иногда заказ нарушается. Я не понимаю почему? Все строки сохраняются со смещением.
Если я сохраню приведенный выше пример, у меня будет:
row4
row5
row6
row7
row8
row9
row10
row11
row12
row13
row0
row1
row2
row3
Я думал, что дело в ArrayList
. У него DEFAULT_CAPACITY = 10
, и если я добавлю 14 элементов, он изменится CAPACITY
и элементы будут переупорядочены. Но я не понимаю следующее:
- Почему это иногда случается и не происходит на других машинах?
- Как я могу это исправить?