У меня есть сложная проблема, позволяющая hibernate упорядочить два списка одного и того же объекта. С помощью некоторого кода было бы легче понять, что я хочу делать.Hibernate бросает «Повторяющийся столбец при сопоставлении для объекта» при использовании OrderColumn с двумя списками
@MappedSuperclass
public abstract class AbstractParent {
List<CommonObject> commonObjects;
public abstract List<CommonObject> getCommonObjects();
}
@Entity
@Table
public class Child1 extends AbstractParent {
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name="child1_id", nullable = false)
@OrderColumn(name = "sort_index")
public List<CommonObject> getCommonObject() {
return this.commonObjects;
}
}
@Entity
@Table
public class Child2 extends AbstractParent {
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name="child2_id", nullable = false)
@OrderColumn(name = "sort_index")
public List<CommonObject> getCommonObject() {
return this.commonObjects;
}
}
Но поскольку зимуют обрабатывать отображение столбца «sort_index», она отображается дважды (для ребенка1 и ребенка2). Таким образом, я получаю эту ошибку:
вызвано следующими причинами: org.hibernate.MappingException: Повторные столбца в отображении для лица ... Колонка: sort_index (должен быть сопоставлен с вставкой = «ложь» обновление = «ложь»)
Я знаю, что могу решить эту проблему, если поместить два разных столбца для сортировки. Но я хотел бы знать, есть ли у кого-то лучшее решение, чтобы дать мне.
Спасибо,
Спасибо за ваш ответ. Поэтому, если я хорошо понимаю, мне нужны две другие таблицы, которые присоединяют мои объекты Child1 и Child2 к CommonObject? – Romain
Я не пробовал с той же таблицей, но вы можете попробовать и посмотреть, работает ли она. –
Хорошо спасибо Влад – Romain