Fremdschlüsselzuordnung innerhalb der Embeddable-Klasse
ich benutzeeclipselink
zumJPA
. Ich habe eine Entität, die eine hatzusammengesetzter Schlüssel aus zwei feldern gefertigt. Folgendes ist meineEmbeddable Felder der Primärschlüsselklasse (Mitglieder).
<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>
Mein Unternehmen wird Urlaubsdaten für einen Mitarbeiter speichern, daher versuche ich, Mitarbeiterobjekt und Urlaubsdatum zu kombinieren, um einen zusammengesetzten Schlüssel zu erstellen. Abgesehen von meiner Logik ist es mir nicht gestattet, eine Fremdschlüsselzuordnung in einer einbettbaren Klasse zu haben. Wenn ich versuche zu benutzenJPA-Tools -> Tabellen aus Entität generierenEs gibt Fehler wie unten, was erklärt, aber ich verstehe es nicht.
<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>
Bedeutet das, dass ich keinen Schlüssel (vom zusammengesetzten Schlüssel) haben kann, der auch ein Fremdschlüssel ist? Gibt es eine alternative Möglichkeit, diesen WKM durchzuführen? Bitte helfen Sie. Vielen Dank