package org.optaconf.domain;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.validation.constraints.NotNull;
import org.optaplanner.core.api.domain.solution.cloner.DeepPlanningClone;
import com.fasterxml.jackson.annotation.JsonBackReference;
@DeepPlanningClone
@Entity(name = "optaconf_speakingrelation")
public class SpeakingRelation extends AbstractConferencedPersistable {
@NotNull
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "speaker_id")
@JsonBackReference
private Speaker speaker;
@NotNull
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "talk_id")
@JsonBackReference
private Talk talk;
public SpeakingRelation() {
}
public SpeakingRelation(Conference conference, String externalId, Talk talk, Speaker speaker) {
super(conference, externalId);
this.talk = talk;
this.speaker = speaker;
}
public Speaker getSpeaker() {
return speaker;
}
public void setSpeaker(Speaker speaker) {
this.speaker = speaker;
}
public Talk getTalk() {
return talk;
}
public void setTalk(Talk talk) {
this.talk = talk;
}
// ************************************************************************
// Real methods
// ************************************************************************
}