Добрый день. Собственно, в заголовке вопрос. Аннотации JPA привязывают нас к самому JPA. Верно ли это? Или всё таки надо делать свой доменный слой, репозитории и прочие сервисы, а jpa разместить в инфраструктурном слое? Но в jpa свои энтити, сервисы, репозитории, не будет ли дублирования кода?
А почему JPA должен нарушать принципы DDD? Если у тебя проект, в котором применяется DDD, то все архитектурные уровни (должны быть) абстрагированы, и JPA, будучи применённым на уровне доступа к данным, никак не нарушает принципов DDD.