Mapowanie klucza obcego wewnątrz klasy Embeddable

ja używameclipselink dlaJPA. Mam podmiot, który maklucz kompozytowy wyprodukowane z dwóch pól. Podążam za mnąOsadzalny pola klasy klucza podstawowego (członkowie).

<code>    @Embeddable
    public class LeavePK {
       @ManyToOne(optional = false)
       @JoinColumn(name = "staffId", nullable = false)
       private Staff staff;
       @Temporal(TemporalType.TIMESTAMP)
       private Calendar date;
       //setters and getters
    }
</code>

Mój podmiot będzie przechowywał dane urlopowe związane z personelem, więc próbuję połączyć obiekt personelu i zostawić datę, aby wyprodukować klucz złożony. Oprócz mojej logiki, nie pozwala mi to na odwzorowanie klucza obcego wewnątrz klasy embeddable. Kiedy próbuję użyćNarzędzia JPA -> Generuj tabele z jednostki, daje błąd jak poniżej, co wyjaśnia, ale nie dostaję tego.

<code>org.eclipse.persistence.exceptions.ValidationException
Exception Description: The mapping [staff] from the embedded ID class [class rs.stapp.entity.LeavePK] is an invalid mapping for this class. An embeddable class that is used with an embedded ID specification (attribute [leavePK] from the source [class rs.stapp.entity.Leave]) can only contain basic mappings. Either remove the non basic mapping or change the embedded ID specification on the source to be embedded.
</code>

Czy to znaczy, że nie mogę mieć klucza (z klucza złożonego), który jest również kluczem obcym. Czy istnieje alternatywny sposób na osiągnięcie tego ERM? Proszę pomóż. Dzięki

questionAnswers(1)

yourAnswerToTheQuestion