我违反了连接表的主键约束,这是EclipseLink为以下类自动创建的:
@Entity public class Link {
@ManyToMany @OrderColumn
private List<Node> nodes; ...
@Entity public class Node {
@ManyToMany(fetch = FetchType.EAGER, mappedBy = "nodes")
private List<Link> links; ...
如果我在其节点的第一个和第二个位置插入具有相同节点的链接,则发生违规。实际上,生成的索引包含NODES_ID和LINKS_ID(缺少NODES_ORDER)。我如何影响EclipseLink或其他提供程序以省略或扩展此约束?
使用:Glassfish 4.1.1,EclipseLink 2.6.4或2.7.0(交叉发布),Java 8
答案 0 :(得分:0)
尝试添加此内容:
@org.hibernate.annotations.ForeignKey( name = "none")
在映射的两侧。