I have following tables how can i map them to JPA entities:
TABLE Event {
EventID
SourceID
....Other event fields
PK (EventID, SourceID)
}
TA
@Entity
public class Event {
@EmbeddedId
private EventId id;
@OneToMany(mappedBy = "event")
private List meetings = new ArrayList<>();
}
@Embeddable
public class EventId implements Serializable {
@Column(name = "EventID")
private Long eventId;
@Column(name = "SourceID")
private Long sourceId;
//implements equals and hashCode
}
@Entity
public class Meeting {
@EmbeddedId
private MeetingId id;
@MapsId("eventId")
@JoinColumns({
@JoinColumn(name="EventID", referencedColumnName="EventID"),
@JoinColumn(name="SourceID", referencedColumnName="SourceID")
})
@ManyToOne
private Event event;
}
@Embeddable
public class MeetingId implements Serializable {
@Column(name = "MeetingID")
private Long meetingId;
private EventId eventId;
//implements equals and hashCode
}
You may want to take a look at a similar question for more details.