1
resposta

Um VO pode ser uma entidade JPA?

Sou novo no DDD e sempre associei o conceito de entidades de domínio com as entidades do JPA, então fiquei com uma dúvida aqui... O telefone é um agregado do aluno, então na hora de persistir no banco vai existir uma relação 1:n (um aluno pode ter muitos telefones), e esses telefones vão precisar de um id, mas é estranho pensar em um VO com id... Então fiquei confuso... a classe Telefone é um VO pro domínio mas é uma entidade pro contexto de persistência?

1 resposta

Oi Rafael,

Essa é uma dúvida comum, pois sempre pensamos nos frameworks e bibliotecas que fazem parte da aplicação, e como eles costumam ter termos em comum, isso acaba gerando confusão.

Mas é exatamente o que você disse, do ponto de vista de domínio, no exemplo mostrado no curso, um Telefone é um Value Object, mas do ponto de vista de infraestrutura, pensando na camada de persistência da aplicação, Telefone será uma entidade JPA e portanto precisará de um id.

Bons estudos!