Перейти к основному содержимому

ADR-0006: jOOQ вместо JPA

  • Status: accepted
  • Date: 2026-08-28

Решение

Java-сервисы используют Spring JDBC и jOOQ для работы с PostgreSQL. Схему создаёт Flyway, а jOOQ генерирует типизированные классы таблиц. JPA и Hibernate не используются.

Причина

Команда хочет видеть выполняемый SQL и явно управлять запросами. jOOQ сохраняет проверку типов и хорошо подходит для обычной структуры MVC.

Последствия

Repository-классы работают через DSLContext. Доменные модели остаются обычными Java-классами без JPA-аннотаций. Запросы к базе проверяются интеграционными тестами с PostgreSQL в Testcontainers.