Мне нравится идея использования JAX-RS в Quarkus, так как это сделает код не зависимым от реализации платформы. Однако когда дело доходит до БД , мы предлагаем использовать "Panache" и расширять сущности БД с PanacheEntity
. Я предполагаю, что это очень удобно и хорошо для работы с AOT (что в основном пытается сделать Quarkus) и сильно упрощает работу Quarkus, но это создает сильную зависимость от конкретной реализации, и из-за этого мы не можем использовать чистые модули JPA.
Это противоречит «чистой архитектуре» и усложняет тестирование такого модуля БД [если вообще возможно]. Допустим, я хотел бы иметь возможность использовать один и тот же модуль БД (используя только аннотации JPA) для модулей приложений на основе Spring и Quarkus. Это вынуждает меня дублировать код или чит с точки зрения чистоты дизайна.
Есть ли возможность использовать чистые аннотации JPA для постоянства и, возможно, заплатить цену с помощью плагинов (которые изменяют код во время компиляции) или с помощьюкаркасов ORM, которые не выполняют изменение / использование байт-кода во время выполнения? Есть примеры?
PS. Поздравляю с релизом 1.0 ! Хорошая работа, команда Quarkus.