При использовании модели реактивного программирования с Spring Data MongoDB можно выполнять транзакции следующим образом:
Mono<DeleteResult> result = template.inTransaction()
.execute(action -> action.remove(query(where("id").is("step-1")), Step.class));
Но Spring Data MongoDB также поддерживает «реактивные репозитории», например:
public interface PersonRepository extends ReactiveMongoRepository<Person, String>
Flux<Person> findByLocationNear(Point location, Distance distance);
}
и
public interface CarRepository extends ReactiveMongoRepository<Car, String>
Flux<Car> findByYear(int year);
}
Мой вопрос, учитывая, что у вас есть ReactiveMongoRepository
, можете ли вы каким-либо образом использовать транзакции MongoDB и, например, вставить и Person
и Car
в одно и то жетранзакция (с использованием PersonRepository
и CarRepository
в случае)?Если да, то как ты это делаешь?