java无法添加子实体JPA OneToMany关系
我一直在尝试向数据库中添加一个实体,该实体与另一个实体有一对多的关系,但当我插入该实体时,它表示无法插入id,因为它为空
我已经映射了这样的父子类:
@OneToMany(mappedBy = "directory", cascade = CascadeType.ALL)
private List<DirectoryRemarksEntity> remarks;
子实体:
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "DIRECTORY_ID")
@JsonIgnore
private DirectoryTableEntity directory;
我的json如下所示:
{
"state": {
"id": 2,
"nameEn": "Dubai",
"code": "DXB",
"nameAr": "دبي"
},
"segment": {
"id": 5,
"name": "Government",
"alias": "Gov"
},
"contactType": {
"id": 5,
"name": "FAX"
},
"remarks": [
{
"remarkValueAR": "EN Remarks",
"remarkValueEN": "AR RemarksEN ",
"remarkType": {
"id": 4,
"name": "legacy_modifieddate"
}
}
],
"isTelSecret": 1,
"isPublishElectroniceMedia": 0,
"isTelPublishDa": 1,
"isPrintARA": 0,
"isPrintENG": 0,
"establishmentNameEn": "Establishment Name",
"establishmentNameAr": "",
"establishmentSubNameEn": "Subname",
"establishmentSubNameAr": "Arabicname",
"contactCountryCode": "92",
"contactNumber": "3042501110",
"streetAR": "",
"streetEN": "",
"houseNumber": "",
"flatNo": "",
"buildingAR": "",
"buildingEN": "",
"proffesionAR": "",
"proffesionEN": "",
"latitude": "",
"longitude": "",
"accountProductCode": "00",
"subSegment": "",
"companyNameAr": "",
"companyNameEn": "",
"email": "",
"url": "",
"ISUrl": "",
"ticketsFeesEN": "",
"ticketsFeesAR": "",
"timingsAR": "",
"timingsEN": "",
"streetEn": "SZR"
}
这是hibernate抛出的错误:
Error Msg = ORA-01400: cannot insert NULL into ("DQISAPPS"."DIRECTORY_REMARKS"."DIRECTORY_ID")
在甲骨文。jdbc。驾驶员t4cttiore11。processError(t4cttiore11.java:498)
这是我的休息控制器:
@PostMapping("/")
public ResponseEntity<Response<DirectoryTableEntity>> save(@RequestBody DirectoryTableEntity directory){
return new ResponseEntity<>(
new Response<>(directoryService.save(directory), new Meta(SUCCESS_MESSAGE, HttpStatus.OK.value())),
HttpStatus.OK);
}
这是我的服务:
@Override
public DirectoryTableEntity save(DirectoryTableEntity directory) {
// TODO Auto-generated method stub
String user = authService.getUsername();
directory.setStatusId(1);
directory.setCreatedBy(user);
directory.setLastModifiedBy(user);
return directoryTableRepository.save(directory);
}
有人能告诉我这里缺少什么吗
共 (0) 个答案