Я начинаю с DDD, и вы можете представить, как мой мозг кипит.
Мой вопрос связан с моими объектами домена (сущностями, VO,...), которые представляют собой мои концепции/логику домена и как их сохранять/извлекать.
В синей книге говорится, что репозиторий - это способ представления коллекций объектов домена и отвечает за взаимодействие с уровнем инфраструктуры. Я также читаю, что на каком-то посту уровень инфраструктуры выглядит там, где вы должны использовать спящий режим, JPA или что-то еще.
Затем я вижу этот Spring -data-jpa пример http://spring.io/guides/gs/accessing-data-jpa/, и я становлюсь сумасшедшим.
Слоган говорит, что Spring -data-jpa - это легко создавать репозитории, а предыдущие образцы объединяют аннотации JPA в объект домена (customer
).
Правильно ли образец? или я прав?
Если я прав, и домен и инфраструктура должны быть разделены, это означает, что для хранения клиента у меня должно быть:
- a
customer
на моем доменном уровне (который представляет клиента и имеет все логические операции) - a
CustomerRepository
un мой доменный уровень (который извлекает или хранит клиентов из уровня инфраструктуры) - a
customer
в инфраструктурном слое, возможно, аннотируется с @Entity - Некоторые
CustomerReposityJPA
, которые знают, как хранить/извлекать клиентов из базы данных.
Спасибо за любое разъяснение.