Почему нулевой (первичный ключ обратной стороны) на стороне владельца при сохранении родительского объекта? - PullRequest
0 голосов
/ 29 января 2019

Я сделал объект сущности 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 равен нулю в таблице детей.

...