Java 8 无法从通量转换<;PortCall>;到单声道<;?扩展对象>; public Flux updateByFindById(字符串gsisKey,PortCall-PortCall){ 返回portCallRepository.findAllByVesselCode(portCall.getVesselCode()) .collectList().flatMap(列表->{ 返回portCallRepository.saveAll(Flux.fromIterable(list)); }); }

Java 8 无法从通量转换<;PortCall>;到单声道<;?扩展对象>; public Flux updateByFindById(字符串gsisKey,PortCall-PortCall){ 返回portCallRepository.findAllByVesselCode(portCall.getVesselCode()) .collectList().flatMap(列表->{ 返回portCallRepository.saveAll(Flux.fromIterable(list)); }); },java-8,spring-webflux,reactive-mongo-java,Java 8,Spring Webflux,Reactive Mongo Java,在这里,我试图调用SimpleReactiveMongoRepository的saveAll(),即公共流量saveAll(Iterable实体)您不想要: public Flux<PortCall> updateByFindById(String gsisKey, PortCall portCall) { return portCallRepository.findAllByVesselCode(portCall.getVesselCode()) .

在这里,我试图调用SimpleReactiveMongoRepository的saveAll(),即公共流量saveAll(Iterable实体)

您不想要:

public Flux<PortCall> updateByFindById(String gsisKey, PortCall portCall) {
    return portCallRepository.findAllByVesselCode(portCall.getVesselCode())
            .collectList().flatMap(list->{
                return portCallRepository.saveAll(Flux.fromIterable(list));
            });
                    
}
public Flux updateByFindById(字符串gsisKey,PortCall-PortCall){
返回portCallRepository.saveAll(
portCallRepository.findAllByVesselCode(portCall.getVesselCode())
);
}

no,我正在尝试更新列表,然后保存到数据库中,更新逻辑已被删除,以保持问题的简洁。
Flux.fromIterable(list)
返回一个
Flux
,而
saveAll
接受一个
Iterable
Flux
不是
Iterable
。尝试只调用
portCallRepository.saveAll(列表)
。或者只需跳过
collectList
并使用
save
即可对数据库进行单个事务处理。
public Flux<PortCall> updateByFindById(String gsisKey, PortCall portCall) {
    return portCallRepository.saveAll(
         portCallRepository.findAllByVesselCode(portCall.getVesselCode())
    );
}