JDBC подходит для явного блокирующего SQL с полным контролем запросов, R2DBC — для неблокирующего доступа в реактивном контуре. JPA и MyBatis решают задачи более высокого уровня и не являются прямыми аналогами драйвера.
Когда JDBC/R2DBC предпочтительнее JPA или MyBatis на уровне проекта?
JDBC подходит для явного блокирующего SQL с полным контролем запросов, R2DBC — для неблокирующего доступа в реактивном контуре. JPA и MyBatis решают задачи более высокого уровня и не являются прямыми аналогами драйвера.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
JDBC подходит для явного блокирующего SQL с полным контролем запросов, R2DBC — для неблокирующего доступа в реактивном контуре. JPA и MyBatis решают задачи более высокого уровня и не являются прямыми аналогами драйвера.
JPA удобна для управления графом сущностей, MyBatis — для маппинга явного SQL, обычно поверх JDBC. При сложных проекциях и небольшом доменном слое ORM может быть избыточна. R2DBC выбирают при совместимом драйвере и сквозной неблокирующей архитектуре, а не как автоматическое ускорение БД. Учитывают транзакции, tooling, компетенции команды и стоимость ручного маппинга.