Как сопоставить один ко многим / один к одному с POJO в Spring Data R2DBC - PullRequest
3 голосов
/ 17 июня 2020

Я пытаюсь воспроизвести некоторые функции, которые я использовал в Spring Data JPA, в новом реактивном Data r2db c. Я знаю, что r2db c не является полноценной ORM, но хотел понять, как лучше всего воспроизвести сценарий ниже в r2db c:

public class Doctor extends BaseModel {

    //other fields and id

    @NotNull
    @Enumerated(EnumType.STRING)
    @ElementCollection(fetch = FetchType.LAZY, targetClass = Language.class)
    @CollectionTable(name = "doctor_language",
        joinColumns = @JoinColumn(name = "doctor_id"))
    @Column(name = "language")
    private List<Language> languages = new ArrayList<>();


    @OneToMany(fetch = FetchType.LAZY, targetEntity = DoctorHealthProvider.class, mappedBy = 
        "doctor")
    private List<DoctorHealthProvider> providers = new ArrayList<>();

    // other fields
}

Простой вызов findById on DoctorRepository (который расширяет JpaRepository) предоставит мне объект doctor со списком языков из таблицы doctor_language и списком поставщиков медицинских услуг из таблицы health_provider, если я использую Spring Data JPA

Я читал о прогнозах но не мог понять, как лучше всего реализовать вышеизложенное в Reactive Spring. Любая помощь / рекомендации / указания приветствуются.

Спасибо

...