Операция вставки JPA не работает должным образом - PullRequest
0 голосов
/ 21 мая 2018

Требуется выполнить операцию вставки

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.

...