Здравствуйте, уже долго борюсь с проблемой, про которую много пишут, отлично гуглится, но в моем случае она не решается по какой-то причине.
@Entity
@Table(name = EVENT_CLASS_FAMILY_TABLE_NAME)
public class EventClassFamily extends GenericModel<EventClassFamilyDto> {
private static final long serialVersionUID = 3766947955702551264L;
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = EVENT_CLASS_FAMILY_VERSION_EVENT_CLASS_FAMILY_ID, nullable = false)
private List<EventClassFamilyVersion> schemas;
@Entity
@Table(name = EVENT_CLASS_FAMILY_VERSION_TABLE_NAME)
public class EventClassFamilyVersion extends GenericModel<EventClassFamilyVersionDto> {
private static final long serialVersionUID = -7490111487256831990L;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "ecfv")
//@OneToMany(cascade = CascadeType.ALL)
//@JoinColumn(name = EVENT_CLASS_EVENT_CLASS_FAMILY_VERSION_ID, nullable = false)
private List<EventClass> records;
@Entity
@Table(name = EVENT_CLASS_TABLE_NAME)
public class EventClass extends GenericModel<EventClassDto> {
private static final long serialVersionUID = 3766947955702551264L;
@ManyToOne
@JoinColumn(name = EVENT_CLASS_TENANT_ID, nullable = false)
@OnDelete(action = OnDeleteAction.CASCADE)
private Tenant tenant;
@ManyToOne(cascade = CascadeType.ALL)
// @OnDelete(action = OnDeleteAction.CASCADE)
private EventClassFamilyVersion ecfv;
В момент сохранения EventClassFamily я имею: EventClassFamily с уже сгенерированным Id , EventClassFamilyVersion c Id=null поскольку он ещё не сохранялся и List , каждый из которых c Id=null .
После сохранения всё отлично , кроме того ,что во всех EventClass обратная связь на EventClassFamilyVersion (ecfv) = null , хотя анотации вроде указывают, что тут двухсторонняя связь.