I have 2 entity candidate and candidature , each of them have 2 children candidateX , candidateY and candidatureX , candidatureY . The relation between candidate and candidature is one to many
@Entity
@Table(name = "CANDIDATURE")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE )
@DiscriminatorColumn( name="CANDIDATURE_TYPE",discriminatorType=DiscriminatorType.STRING)
public class Candidature {
private Candidate candidate;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "CANDIDATE_ID", nullable = false)
public Candidate getCandidate() {
return candidate;
}}
@Entity
@Table(name = "CANDIDATE")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE )
@DiscriminatorColumn( name="CANDIDATE_TYPE",discriminatorType=DiscriminatorType.STRING)
public class Candidate {
private Set<Candidature> candidatures;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "candidate")
public Set<Candidature> getCandidatures() {
return candidatures;
}
}
with this implemtation i can't join child candidateX to candidatureX , how can i solve it ? can I make the join in children and How? this is children
@Entity
@DiscriminatorValue("CANDIDATURE_X")
public class CandidatureX extends Candidature{
}
@Entity
@DiscriminatorValue("CANDIDATURE_Y")
public class CandidatureY extends Candidature{
}
@Entity
@DiscriminatorValue("CANDIDATE_X")
public class CandidateX extends Candidate{
}
@Entity
@DiscriminatorValue("CANDIDATE_Y")
public class CandidateY extends Candidate{
}
my probleme is in the relation between candidateX - candidatureX and candidateY - candidatureY
Partager