我有两个模型,如下所示:
1.
public class LaboratoryTransaction extends Transaction {
@ManyToMany
@JoinTable(name = "lab_txn_complaints_symptoms",
joinColumns = @JoinColumn(name = "lab_txn_id"),
inverseJoinColumns = @JoinColumn(name = "symptom_id"))
private Set<SymptomsDirectory> symptoms = new HashSet<>();
@ManyToMany
@JoinTable(name = "lab_txn_provisional_diagnosis",
joinColumns = @JoinColumn(name = "lab_txn_id"),
inverseJoinColumns = @JoinColumn(name = "dieases_id"))
private Set<DiseaseDirectory> provisional_diagnosis = new HashSet<>();
@OneToMany(mappedBy = "laboratoryTransaction", cascade = {CascadeType.PERSIST, CascadeType.MERGE})
private Set<LaboratoryTransactionDetail> laboratoryTransactionDetails = new HashSet<>();
public LaboratoryTransaction addLabTnxDetail(LaboratoryTransactionDetail transaction) {
laboratoryTransactionDetails.add(transaction);
//transaction.setLaboratoryTransaction(this);
return this;
}
}
public class LaboratoryTransactionDetail extends Service {
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "laboratoryTransactionId)
private LaboratoryTransaction laboratoryTransaction;
@ManyToOne
@JoinColumn(name = "packageId")
private LabPackages labPackages;
@JsonIgnore
@OneToMany(cascade = CascadeType.ALL, mappedBy = "laboratoryTransactionDetail")
private Set<ExperimentReadings> experimentResultsByParameters = new HashSet<>();
public LaboratoryTransactionDetail addExperimentReading(ExperimentReadings experimentReadings) {
this.experimentResultsByParameters.add(experimentReadings);
experimentReadings.setLaboratoryTransactionDetail(this);
return this;
}
}
我有一个通过postMap接受json对象的api调用
@RestController
@RequestMapping("/api/v1")
public class Laboratory {
private LaboratoryInvestigationService laboratoryInvestigationService;
private LaboratoryTransactionService laboratoryTransactionService;
private InvestigationGroupService investigationGroupService;
public Laboratory(LaboratoryInvestigationService laboratoryInvestigationService,
LaboratoryTransactionService laboratoryTransactionService,
InvestigationGroupService investigationGroupService) {
this.laboratoryInvestigationService = laboratoryInvestigationService;
this.laboratoryTransactionService = laboratoryTransactionService;
this.investigationGroupService = investigationGroupService;
}
@PostMapping("lab/transactions/add")
LaboratoryTransaction addLabTxn(@RequestBody LaboratoryTransactionCommand laboratoryTransactionCommand){
laboratoryTransactionCommand.setDateTransaction(LocalDate.now());
return laboratoryTransactionService.add(laboratoryTransactionCommand);
}
}
在我的服务层中,我实现了如下save
@Component
public class LaboratoryTransactionSDJPaService implements LaboratoryTransactionService {
private LaboratoryTransactionRepository laboratoryTransactionRepository;
private LabTxnCommandToLabTxn labTxnCommandToLabTxn;
public LaboratoryTransactionSDJPaService(LaboratoryTransactionRepository laboratoryTransactionRepository,
LabTxnCommandToLabTxn labTxnCommandToLabTxn) {
this.laboratoryTransactionRepository = laboratoryTransactionRepository;
this.labTxnCommandToLabTxn = labTxnCommandToLabTxn;
}
@Override
public Set<LaboratoryTransaction> findAll() {
Set<LaboratoryTransaction> laboratoryTransactions = new HashSet<>();
laboratoryTransactionRepository.findAll().forEach(laboratoryTransactions::add);
return laboratoryTransactions;
}
@Override
public LaboratoryTransaction findByID(Long aLong) {
return laboratoryTransactionRepository.findById(aLong).get();
}
@Override
public LaboratoryTransaction add(LaboratoryTransaction object) {
return laboratoryTransactionRepository.save(object);
}
@Override
public LaboratoryTransaction add(LaboratoryTransactionCommand object) {
LaboratoryTransaction lab = labTxnCommandToLabTxn.convert(object);
return laboratoryTransactionRepository.save(lab);
}
@Override
public void delete(LaboratoryTransaction object) {
laboratoryTransactionRepository.delete(object);
}
@Override
public void deleteById(Long aLong) {
laboratoryTransactionRepository.deleteById(aLong);
}
@Override
public void addCommand(LaboratoryTransaction object) {
}
}
这是一个示例json对象
{“patientid”:197,“userid”:1,“datetransaction”:“2017-10-25”,“comment”:“double wahala”,“discount”:25,“presentingcomplains”:[],“temporationdiagnosis”:[],“laboratorytransactiondetailcommands”:[{“laboratoryinvestigationid”:23,“servicepricecocommand”:{“id”:13,“serviceprice”:“,”discountprice“,”tax“},“userdiscount”:23,“usediscountprice”:1,“comment”:“aruma oteh”,“交易时间”:“,”“交易日期”:“,
"packageId" : "",
"experimentReadingCommands" :[]
}],
"referralId" : 1
}
每件事都很好,除了实验室事务细节(带有外键事务细节id)没有用事务id保存在db中。我将感谢任何帮助。谢谢
暂无答案!
目前还没有任何答案,快来回答吧!