具有复合主的 JPA 实体也是相同 table 的外键

JPA entity with composite primary that is also foreign key to same table

我有两个tableA和B。tableA中有两列,col1和col2(这两列都是主键,即与col1和col2组合)。 table B 中有一列,table A 中的两列都指向该列,即 col1 和 col2 是与 table B.[=11 中的列相关的外键=]

如何为 table A 实现 JPA 实体?

谢谢

你可以通过以下代码实现:

@Embeddable
public class AID {
    public int xID;
    public int yId;
}

@Entity
public class A {
    @EmbeddedId
    public AID id;

    @OneToMany(mappedBy="A")
    public Collection<B> b;
}


@Entity
public class Meeting {
    @ID
    @GeneratedValue
    public Long id;

    @MapsId("aID")
    @JoinColumns({
        @JoinColumn(name="xID", referencedColumnName="xID"),
        @JoinColumn(name="yId", referencedColumnName="yId")
    })
    @ManyToOne
    public A a;
}