J'ai un problème suivant que j'ai besoin de résoudre. Le problème principal est que je veux ajouter une colonne supplémentaire dans JoinTable pour la relation ManyToMany dans JPA. Dans mon cas, j'ai les entités suivantes. La Sujet est une entité simple qui a beaucoup de RemoteDocument (un RemoteDocument peut être référé par beaucoup de Sujet, donc il devrait être une relation ManyToMany). L'entité RemoteDocument est également en lecture seule car elle peut être lue uniquement à partir d'Oracle Materialized View, toute modification de cette vue matérialisée étant interdite. Donc, je veux stocker l'ordre de RemoteDocuments liés à un sujet. En fait, je peux faire quelque chose comme ça avec entité supplémentaire:JPA beaucoup à beaucoup avec la colonne supplémentaire
@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;
}
Dans ce cas, l'entité supplémentaire TopicToRemoteDocument me aide à remplacer association ManyToMany avec OneToMany et ajouter ordre de champ supplémentaire.
Mais je veux avoir une relation ManyToMany mais avec colonne supplémentaire configuré dans une table de jointure
Quel est votre fournisseur JPA? JPA 1.0 n'a pas d'annotation normalisée pour cela, mais votre fournisseur JPA pourrait avoir une extension. –