有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案