Я сделал объект сущности Bi.
И я попытался сохранить родительскую сущность с помощью метода сохранения JPA.
Но возникла проблема при вставке нулевых данных в родительский идентификатор дочерней таблицы.
Я не знаю, зачем вставлять нулевые данные.
Перед сохранением родительской сущности есть дочерние данные.
Таким образом, нет проблем только с процессом вставки.
Просто нет данных родительского идентификатора вставки (первичный ключ).
Parent Entity (Inverse side)
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "oid")
private Long oid;
private String username;
private int status;
@OneToMany(targetEntity = Children.class, casacade = CasacdeType.ALL, mappedBy = "parent")
private List<Children> children;
...(getter, setter)
Children Entity (Owner side)
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String foodname;
@Column(name = "parent_oid")
private Long oid;
@ManyToOne(targetEntity = Parent.class)
@JoinColumn(name = "parent_oid", referencedColumnName = "oid")
private Parent parent;
...(getter, setter)
AJAX (JavaScript)
var data = {"username":"mike", "status":"1"};
data.children = [{"foodname":"A"}, {"foodname":"B"}];
$ajax({
url : '/a',
type : 'POST',
contentType : 'application/json; charset=utf-8'
dataType : 'json'
data : JSON.stringif(data)
});
@Controller
public HashMap<String, Object> getting(@RequestBody Parent parentEntity) {
parentService.saveEntity(parentEntity);
}
@Service
public void saveEntity(Parent parentEntity) {
parentRepository.save(parentEntity);
}
Result
Parent Table
---------------------------------
oid | username | status
1 | mike | 1
Children Table
---------------------------------
id | foodname | oid
1 | A | null
2 | B | null
Я не знаю, почему столбец oid равен нулю в таблице детей.