在@ManyToMany中使用@OrderColumn违反约束

时间:2017-01-29 19:57:40

标签: jpa java-8 many-to-many eclipselink

我违反了连接表的主键约束,这是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

1 个答案:

答案 0 :(得分:0)

尝试添加此内容:

@org.hibernate.annotations.ForeignKey( name = "none") 

在映射的两侧。