Как определить @OneToMany в родительской сущности, когда у ребенка есть композитный PK?
мойParent
класс имеет два дочерних класса:Child
а такжеParentHobby
, У класса Child есть единственное PK и@OneToMany
отображение на это работает. Проблема в том, что я не знаю, как сопоставить его с классом ParentHobby, который имеет составной PK.
родитель:
//this works
@OneToMany(cascade = CascadeType.ALL, mappedBy = "parent", fetch = FetchType.EAGER)
private List<Child> childList;
//this DOES NOT work
@OneToMany(cascade = CascadeType.ALL, mappedBy = "parent", fetch = FetchType.EAGER)
private List<ParentHobby> hobbyList;
Ребенок:
@Entity
@Table(name="CHILD")
public class Child {
@Id
@SequenceGenerator(name="CHILD_SEQ", sequenceName="CHILD_DB_SEQ", allocationSize = 1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="CHILD_SEQ")
@Column(name="CHILD_ID")
private long childID;
@JoinColumn(name = "PARENT_ID", referencedColumnName = "PARENT_ID", insertable = true, updatable = true)
@ManyToOne(optional = true)
private Parent parent;
ParentHobby:
@Entity @Table (name = "PARENT_HOBBY") открытый класс ParentHobby {
@EmbeddedId
private ParentHobbyPK id;
ParentHobbyPK:
@Embeddable
public class ParentHobbyPK {
@JoinColumn(name = "PARENT_ID", referencedColumnName = "PARENT_ID", insertable = true, updatable = true)
@ManyToOne(optional = true)
private Parent parent;
@Column(name="HOBBY_ID")
private String hobbyID;
Исключение, которое я получаю во время компиляции:
mappedBy reference an unknown target entity property: ParentHobby.parent in Parent.hobbyList
Как определить отношение @OneToMany в родительской сущности, когда у дочернего элемента есть составной первичный ключ?
АНАЛОГИЧНЫЙ:
@OneToMany отношения с композитным ключом
Отображение спящего объекта, когда внешний ключ является частью составного первичного ключа?