Wie definiere ich @OneToMany in der übergeordneten Entität, wenn das untergeordnete Element eine zusammengesetzte PK hat?

MyParent class hat zwei untergeordnete Klassen:Child undParentHobby. Die Kinderklasse hat eine singuläre PK und das@OneToManymapping drauf klappt. Das Problem ist, dass ich nicht weiß, wie ich es der ParentHobby-Klasse zuordnen soll, die eine zusammengesetzte PK hat.

Elternteil

//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;

Kind

@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") öffentliche Klasse 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;

Die Ausnahme, die ich beim Kompilieren bekomme, ist:

mappedBy reference an unknown target entity property: ParentHobby.parent in Parent.hobbyList

Wie kann ich eine @ OneToMany-Beziehung in einer übergeordneten Entität definieren, wenn das untergeordnete Element einen zusammengesetzten Primärschlüssel hat?

ÄHNLICH

@ OneToMany-Beziehung mit zusammengesetztem Schlüssel

Hibernate Entity-Zuordnung, wenn der Fremdschlüssel Teil des zusammengesetzten Primärschlüssels ist?

JPA-Verbundschlüssel @ OneToMany

Antworten auf die Frage(2)

Ihre Antwort auf die Frage