【问题标题】:Spring Boot delete multiple rows from two entities JHipsterSpring Boot 从两个实体 JHipster 中删除多行
【发布时间】:2017-07-02 15:45:19
【问题描述】:

我在我的项目中使用 Spring Boot 作为后端。在函数deleteDoctor 中,我想通过id 从表doctor 中删除医生,同时我想删除user 表中关联user,该表具有doctor 的登录名。

但是,流程不起作用,代码参考如下:

@DeleteMapping("/doctor/{id}")
@Timed
public ResponseEntity<Void> deleteDoctor(@PathVariable String id,
                                         @RequestBody Doctor doctor) {
  log.debug("REST request to delete Doctor : {}", id);
  doctorRepository.delete(id);

  userRepository.findOneByLogin(doctor.getLogin()).
    ifPresent(user -> {
      userRepository.delete(user);
      log.debug("Deleted User: {}", user);
    });

  return ResponseEntity.ok()
    .headers(HeaderUtil.createEntityDeletionAlert(ENTITY_NAME, id.toString())).build();
}

【问题讨论】:

  • “不起作用”是什么意思?你有例外吗?如果是堆栈跟踪,请。

标签: spring-boot spring-data-jpa jhipster


【解决方案1】:

使用@Transactional 或更好的方法注释deleteDoctor() 方法:将该代码移至使用@Transactional 的服务方法

【讨论】:

    猜你喜欢
    • 2018-07-04
    • 2017-12-11
    • 2017-07-12
    • 1970-01-01
    • 2019-07-09
    • 2020-02-09
    • 1970-01-01
    • 2019-10-29
    相关资源
    最近更新 更多