data jpa
Вот я загружаю данные в первый раз с таким объектом Pageable
PAGEABLE Page request [number: 0, size 5, sort: creationDate: ASC]
Все ок, могу перезагружать страницу, сколько хочу, данные не меняются, отсортированы по creationDate
Order(id=1, status=PENDING, creationDate=2022-02-03T14:46:04.702056, updateDate=2022-02-03T14:46:04.702056, totalPrice=150.00, address=Address 1)
Order(id=2, status=PENDING, creationDate=2022-02-03T14:46:04.702056, updateDate=2022-02-03T14:46:04.702056, totalPrice=150.00, address=Address 2)
Order(id=3, status=PENDING, creationDate=2022-02-03T16:02:00.251971, updateDate=2022-02-03T16:02:00.252971, totalPrice=150.00, address=Address 1)
Order(id=4, status=PENDING, creationDate=2022-02-03T16:02:00.252971, updateDate=2022-02-03T16:02:00.252971, totalPrice=150.00, address=Address 2)
Order(id=6, status=COOKING, creationDate=2022-02-03T16:06:21.555237, updateDate=2022-02-03T16:06:21.555237, totalPrice=150.00, address=Address 2)
А теперь я нажимаю на кнопку, которая просто изменяет status
Pageable остается таким же и должен сортировать по creationDate
PAGEABLE Page request [number: 0, size 5, sort: creationDate: ASC]
Order(id=2, status=PENDING, creationDate=2022-02-03T14:46:04.702056, updateDate=2022-02-03T14:46:04.702056, totalPrice=150.00, address=Address 2)
Order(id=1, status=COOKING, creationDate=2022-02-03T14:46:04.702056, updateDate=2022-02-03T14:46:04.702056, totalPrice=150.00, address=Address 1)
Order(id=3, status=COOKING, creationDate=2022-02-03T16:02:00.251971, updateDate=2022-02-03T16:02:00.252971, totalPrice=150.00, address=Address 1)
Order(id=4, status=PENDING, creationDate=2022-02-03T16:02:00.252971, updateDate=2022-02-03T16:02:00.252971, totalPrice=150.00, address=Address 2)
Order(id=6, status=COOKING, creationDate=2022-02-03T16:06:21.555237, updateDate=2022-02-03T16:06:21.555237, totalPrice=150.00, address=Address 2)
Но данные теперь показываются иначе, 1 и 2 поменялись местами ( у них одинаковый creationDate ), почему?
Давай на гист
Много кода будет, я отследил проблему до Pageable. Вижу, что запросы к Spring data jpa поступают правильно и с одним объектом pageable, а возвращает оно информацию немного иначе при одинаковых полях для сортировки. Такое чувство, что оно сортирует по creationDate, а потом по status, если creationDate одинаковый. Мои догадки подтверждаются тем, что это случается только для полей с полностью одинаковым creationDate
тоже так подумал, но увы ентити с айди 3-4 себя не повели как те что с 1-2
И вправду, тогда я просто не понимаю
Обсуждают сегодня