Clé étrangère de la cartographie à l'intérieur de Intégrable classe
Je suis en utilisant eclipselink
pour JPA
. J'ai une entité, qui a un clé composite fabriqués à partir de deux champs. Voici mon Intégrable clé primaire de la classe de champs(membres).
@Embeddable
public class LeavePK {
@ManyToOne(optional = false)
@JoinColumn(name = "staffId", nullable = false)
private Staff staff;
@Temporal(TemporalType.TIMESTAMP)
private Calendar date;
//setters and getters
}
Mon entité est va laisser des données liées à un personnel, donc je suis en train d'essayer de combiner le personnel de l'objet et de laisser la date à produire de la clé composée. En dehors de ma logique, il n'est pas ce qui me permet d'avoir une clé étrangère de la cartographie à l'intérieur de intégrable classe. Lorsque j'essaie d'utiliser JPA outils--> Générer des Tableaux De l'Entité, il donne une erreur comme ci-dessous, qui explique, mais je ne suis pas à l'obtenir.
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.
Signifie-t-il, je ne peux pas avoir une clé(à partir de la clé composite), qui est également une clé étrangère. Est-il un autre moyen pour accomplir cette ERM? S'il vous plaît aider. Grâce
Vous devez vous connecter pour publier un commentaire.
Ne mettez pas de liens dans des classes d'identité, ni pour
@IdClass
ou@EmbeddedId
ceux. Un@Embeddable
classe comprennent uniquement les annotations@Basic
,@Column
,@Temporal
,@Enumerated
,@Lob
, ou@Embedded
. Tout le reste est spécifique au fournisseur de syntaxe (par exemple, Hibernate permet cela, mais puisque vous êtes à l'aide de EclipseLink, qui est la JPA RI, je doute que cela soit ce que vous voulez).Voici un exemple JPA PK/FK cartographie:
HTH