【发布时间】:2015-07-11 19:05:04
【问题描述】:
我想在其中构建 Hibernate OneToMany 关系 Parent 有一个复合主键,Child 有一个主键(休眠自动生成)。以下是我的工作示例代码:
class Parent{
@EmbeddedId
private ParentPk parentPk;
@OneToMany( mappedBy="parent")
private List<ChildType1>;
@OneToMany( mappedBy="parent")
private List<ChildType2>;
@OneToMany( mappedBy="parent")
private List<ChildType3>;
//--setters and getters
}
@Embeddable
public class ParentPk {
private Long parentId;
private BigDecimal version;
//..setters and getters
}
class ChildType1{
@Id
private Long childId;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumns({ @JoinColumn(name = "parentId"),
@JoinColumn(name = "version") })
private Parent parent;
//..other fields and setters and getters
}
//--ChildType2 and ChildType3 like above
但是现在我想将上面的模型建模为 OneToMany 单向关系,即子级不应该引用父级(希望在子类中省略 Parent 实例)。有可能吗?
【问题讨论】:
-
是的,这是可能的。将JoinColumns注解放在父类的List上。
标签: java hibernate composite-primary-key hibernate-onetomany