Что такое R2DBC и почему нельзя просто использовать JPA с WebFlux?

Middle
258 просмотров
AFK Offer AI

JPA (Hibernate) блокирующий — он блокирует поток ожидая ответа от БД. Оборачивать это в Mono.fromCallable с subscribeOn(Schedulers.boundedElastic) работает, но теряет смысл реактивности. R2DBC — нативно реактивный драйвер для реляционных БД, не блокирует поток. Spring Data R2DBC дает репозитории возвращающие Mono/Flux. Минус — нет ленивой загрузки и сложных join-запросов как в JPA.

Следующий вопрос

Реализуйте паттерн Decorator на Java