具有复合主的 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;
}
我有两个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;
}