【发布时间】:2010-10-28 08:46:55
【问题描述】:
我有一个需要解决的问题。 核心问题是我想在 JPA 中为多对多关系的 JoinTable 添加额外的列。就我而言,我有以下实体。
主题是一个简单的实体,它有许多远程文档(一个远程文档可能被许多主题引用,因此它应该是多对多关系)。此外,RemoteDocument 实体是只读的,因为它只能从 Oracle 物化视图中读取,而且禁止对此物化视图进行任何更改。所以我想存储与某些主题相关的 RemoteDocuments 的顺序。事实上,我可以用额外的实体做类似的事情:
@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 帮助我用 OneToMany 替换 ManyToMany 关联并添加额外的字段顺序。
但我想要多对多关系,但在连接表中配置了附加列
【问题讨论】:
-
您的 JPA 提供商是什么? JPA 1.0 对此没有标准化注释,但您的 JPA 提供者可能有扩展。
标签: java jpa many-to-many