У меня есть следующая проблема, которую мне нужно решить. Основная проблема заключается в том, что я хочу добавить дополнительный столбец в отношение JoinTable для ManyToMany в JPA. В моем случае у меня есть следующие сущности.
Тема - это простая сущность, которая имеет множество RemoteDocument (на один RemoteDocument могут ссылаться многие темы, следовательно, это должно быть отношение ManyToMany). Кроме того, сущность RemoteDocument доступна только для чтения, поскольку ее можно читать только из Материализованного представления Oracle, более того, любое изменение этого Материализованного представления запрещено. Итак, я хочу сохранить порядок удаленных документов, связанных с некоторой темой. Фактически я могу сделать что-то подобное с дополнительным объектом:
@Entity
public class Topic {
@Id
private Long id;
@Basic
private String name;
@OneToMany
private Set<TopicToRemoteDocument> association;
}
@Entity
public class RemoteDocument {
@Id
private Long id;
@Basic
private String description;
}
@Entity
public class TopicToRemoteDocument {
@OneToOne
private Topic topic;
@OneToOne
private RemoteDocument remoteDocument;
@Basic
private Integer order;
}
В этом случае дополнительный объект TopicToRemoteDocument помогает мне заменить ассоциацию ManyToMany на OneToMany и добавить дополнительный порядок полей.
Но я хочу иметь отношение ManyToMany, но с настроенным дополнительным столбцом в таблице соединений