JPA многие ко многим с дополнительным столбцом

У меня есть следующая проблема, которую мне нужно решить. Основная проблема заключается в том, что я хочу добавить дополнительный столбец в отношение 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, но с настроенным дополнительным столбцом в таблице соединений

13
задан endryha 28 October 2010 в 08:46
поделиться