在Spring和MySQL更新子项时更新父项中的日期时间戳

时间:2019-02-26 19:06:28

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

我有以下映射:

MedicalRecord实体:

@ManyToOne(cascade={CascadeType.DETACH,
                        CascadeType.MERGE,
                        CascadeType.PERSIST,
                        CascadeType.REFRESH})
    @JoinColumn(name="patient_id")
    @JsonBackReference(value="patient_ref")
    private Patient patient;

处方实体:

@ManyToOne(cascade={CascadeType.DETACH,
                        CascadeType.MERGE,
                        CascadeType.PERSIST,
                        CascadeType.REFRESH})
    @JoinColumn(name="med_rec_id")
    @JsonBackReference
    private MedicalRecord medicalRecord;

Contoller:

@PostMapping("/patients/medical-records/{id}/prescriptions")
    public Prescription addPrescription(@PathVariable int id,
                                        @RequestBody Prescription prescription){

        MedicalRecord medicalRecord = medicalRecordService.getRecord(id); 
        medicalRecord.addPrescription(prescription);

        return prescriptionService.addPrescription(prescription);
    }

我在病历中有一个列,其中包含创建和更新时间戳记中的sql日期。

我希望在更新处方(儿童)或插入新数据时更新病历(父母)上的日期(时间戳)。

当我保存处方时,我相信它也应该保存作为病历的父母。

但是,似乎没有更新病历(父母)上的日期。

我们将不胜感激! 谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用回调@ PreUpdate,@ PostUpdate Refer this

您可以使用注释@LastModifiedDate Refer this