Требуется выполнить операцию вставки
Member {
member_id // have one to one relation with student_id and teacher_id ( sharing primary key)
lastupdateddate
latupdatedby
}
Student {
student_id // have one to one relation with member_id
student name
lastupdateddate
latupdatedby
}
Teacher {
teacher_id // have one to one relation ship with member_id
teacher name
lastupdateddate
latupdatedby
}
Address {
address id
member_id // have one to one relationship with member_id class
lastupdateddate
latupdatedby
}
Когда я сохраняю сведения об ученике, информация, связанная с адресом, не вставляется должным образом. Когда я проверяю запросы на вставку, запускаемые для члена, затем для ученика и после для таблицы адресов.Но в запросе на вставку в таблицу адресов значение member_id имеет значение null. Поскольку эта только таблица адресов не заполнена.
Структура сущности такая, как указано ниже
public abstract class Member implements Serializable {
}
public class Student extends Member implements Serializable {
}
public class Teacher extends Member implements Serializable {
}
public class Address implements Serializable {
}
Отображение упоминается, как указано ниже.Опробовал различные доступные опции.
В классе сущности члена:
@OneToOne(mappedBy="member", cascade=CascadeType.ALL)
private Address address;
В классе сущности адреса:
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "MEMBER_ID")
private Address address;
Я что-то пропустил на уровне сущности или этоправильный способ сделать это?Сущность сохраняется с помощью операции saveAndFlush JpaRepository.