1. DDD начинается не с базы, а с кода.
2. Entity может быть разной. Если вы говорите про анемичную сущность, то у неё есть set и get. Однако это считается не очень хорошая практика. Больше она подходит для быстрой разработки. Поэтому сущность должна быть богатой. В идеале состоять только из методов модификации убирая get и set. В таком случае вы можете закладывать бизнес правила прямо в сущности. Вы сказали, что она не может состоять из логики - это ошибочно. Хорошая сущность должна иметь логику.
Пример
3. Entity ничего не возвращает. Это задача репозитория.
4. Кроме Entity есть агрегат. Вот он как раз включает в себя все детали.
Про DDD лучше читать или смотреть. Так как это достаточно обширная тема, в которой нужно разбираться не только по ответам на тостере, но и на практике.
Статья в помощь:
https://m.habr.com/ru/post/61524/