Джексон десериализует элементы JSON в обратном порядке того, что я получаю.У нас есть среда, в которой у нас есть внешний интерфейс, который отправляет что-то вроде следующего JSON:
{
"nameElement": "element",
"subElementList": [
{
"nameSubElement": "a"
},
{
"nameSubElement": "b"
},
{
"nameSubElement": "c"
}
]
}
и внутренний интерфейс, который десериализует его через Джексона в объекты, подобные этому:
@Entity
public class Element {
private String nameElement;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "element", fetch = FetchType.LAZY, orphanRemoval = true)
@SortNatural
private SortedSet<SubElement> subElementList;
}
@Entity
public class SubElement {
private String nameSubElement;
}
Проблема возникает, когда мы смотрим на базу данных, где подэлементы списка десериализуются и сохраняются в обратном порядке: элемент c будет идентификатором 1, элемент b будет идентификатором 2, а элемент a будет идентификатором 3, но мынужно с точностью до наоборот, так как порядок внешнего интерфейса противоположен.Я пытался изменить SortedSet by List, но это не сработало.