使用单声道保存嵌套实体

时间:2019-10-08 14:26:24

标签: java mono reactive-programming

首先,我是被动开发的新手。我使用mono和r2dbms处理保存操作。我有两个名为party和dateTime的实体。甲方引用了dateTime。我想做的是先保存dateTime,然后保存dateTime,然后将其ID提供给参与方实体,保存参与方实体,并在保存方法上返回Mono。

我尝试过的;

public Mono<Party> save(Party party) {
    if(party.getDateTime() != null) {
        return dateTimeService.save(party.getDateTime()).doOnSuccess(dateTime -> {
            party.setDateTimeId(dateTime.getId());
            partyRepository.save(party);
        }).then(Mono.just(party));
    } else {
        return partyRepository.save(party);
    }
}

public Mono<Party> save(Party party) {
    if(party.getDateTime() != null) {
        return dateTimeService.save(party.getDateTime()).doOnSuccess(dateTime -> {
            party.setDateTimeId(dateTime.getId());
            partyRepository.save(party);
        }).thenReturn(party);
    } else {
        return partyRepository.save(party);
    }
}

但是无论我做什么,它只会保存dateTime。我该怎么做?

感谢您的帮助

0 个答案:

没有答案