Я хотел создать отношение Hibernate OneToMany, где У родителя есть составной первичный ключ, а у ребенка есть первичный ключ (сгенерированный спящий режим). Ниже мой рабочий пример кода:Hibernate Однонаправленный OneToMany с составным ключом
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 однонаправленной связи, то есть, ребенок не должен ссылаться на родителя (требуется опустить родительский экземпляр дочернего класса). Является ли это возможным?
Да, это возможно. Поместите аннотацию JoinColumns в список в родительском классе. –