JPA manytomany сохраняет порядок списков при использовании @JoinTable

#java #jpa #many-to-many #sql-order-by

#java #jpa #многие ко многим #sql-порядок по

Вопрос:

Я использую класс для хранения списка сохраняемых объектов, и порядок этих объектов действительно имеет значение для меня.

Класс выглядит следующим образом:

 public class Class implements Serializable {

private static final long serialVersionUID = -8772078256979276783L;

@ManyToMany(cascade={CascadeType.MERGE,CascadeType.PERSIST,CascadeType.DETACH,CascadeType.REFRESH})
@JoinTable(name = "join_table",
        joinColumns = {
        @JoinColumn(name="joinColumn") 
},
inverseJoinColumns = {
        @JoinColumn(name="inverseJoinColumn")
}
)
private List<AbstractVariant> variablesList;
}
  

Есть ли способ добавить в эту объединяемую таблицу индекс, чтобы указать позицию в списке, следовательно, сохраняя порядок в безопасности?

Ответ №1:

Это цель @OrderColumn аннотации.

Комментарии:

1. Вы правы, я подумал, что мне нужно использовать другую аннотацию внутри аннотации JoinTable вместо использования ordercolumn . Использование OrderColumn исправило это.