В конце концов я нашел обходной путь для помещения position
в класс (Task
), чьи объекты следует упорядочить.
@Entity
public class TaskList extends GenericModel {
@OneToMany(mappedBy="taskList", cascade=CascadeType.ALL, orphanRemoval=true)
@OrderBy("position")
public List<Task> tasks = new ArrayList<>();
public void addTask(int position, task) {
task.taskList = this;
tasks.add(position, task);
updatePositions();
}
private void updatePositions() {
int position = 0;
for(Whish whish : whishes)
whish.setPosition(position++);
}
}
Возможно, в этом случае другие провайдеры JPA справляются лучше, но сейчас я должен придерживаться Hibernate.