Tengo un siguiente problema que debo resolver. El problema central es que quiero agregar una columna adicional en JoinTable para la relación ManyToMany en JPA. En mi caso tengo las siguientes entidades.JPA muchos a muchos con columna adicional
El tema es una entidad simple que tiene muchos RemoteDocument (un RemoteDocument puede ser referido por muchos temas, por lo tanto, debe ser una relación ManyToMany). Además, la entidad RemoteDocument es de solo lectura porque solo puede leerse desde Oracle Materialized View, además, está prohibida cualquier alteración de esta Vista Materializada. Así que quiero guardar el orden de RemoteDocuments relacionado con algún tema. De hecho, yo puedo hacer algo así con entidad adicional:
@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;
}
En este caso la entidad adicional TopicToRemoteDocument me ayuda para reemplazar asociación con ManyToMany OneToMany y añadir orden de los campos extra.
Pero yo quiero tener relación ManyToMany pero con columna adicional configurado en tabla de unión
¿Cuál es su proveedor de JPA? JPA 1.0 no tiene una anotación estandarizada para esto, pero su proveedor de JPA podría tener una extensión. –