更新时间:2022-06-04 08:43:09
@JoinColumns({
@JoinColumn(name="VERSION", referencedColumnName="VERSION"),
@JoinColumn(name="PARENT_ID", referencedColumnName="CATAGORY_ID")
})
@ManyToOne
private Catagory parentId;
@OneToMany(mappedBy="parentId")
private List<Catagory> childs;
或使用 @IdClass
而不是 @EmbeddableId
的版本(使用 Eclipselink 2.2.1 测试):
or version with @IdClass
instead of @EmbeddableId
(tested with Eclipselink 2.2.1):
public class CatagoryPk implements Serializable {
private Integer version;
private Integer catagoryId;
public CatagoryPk() {
}
public CatagoryPk(Integer version, Integer catagoryId) {
this.version = version;
this.catagoryId = catagoryId;
}
}
@Entity
@IdClass(CatagoryPk.class)
public class Catagory {
@Column(name="VERSION")
@Id private Integer version;
@Column(name="CATAGORY_ID")
@Id private Integer catagoryId;
@ManyToOne
@JoinColumns({
@JoinColumn(name="VERSION", referencedColumnName="VERSION", insertable=false, updatable=false),
@JoinColumn(name="PARENT_ID", referencedColumnName="CATAGORY_ID")
})
private Catagory parentId;
}