Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Identificador Unico na Entidade de Domínio

Olá, estou com uma mega dúvida aqui que é referente à ausência de um atributo ID nas entidades de domínio.

Em um determinado momento o instrutor fala que o ID é referente à camada de infraestrutura, logo, nas entidades de domínio não deveremos ter tal atributo, porém, ao implementar o repositório na camada de infra não foi implementado o ID.

Então minha dúvida é, como fazemos para implementar o ID somente na camada de infra sendo que a entidade de domíno não precise ter esse atributo?

1 resposta
solução!

Oi Edson,

Aí entra uma desvantagem de se utilizar o clean archtecture de maneira "pura", pois nesse caso o recomendado seria você ter duas classes no projeto, sendo uma na camada de domínio e outra na camada de infra.

Exemplo:

public class Cliente {

    private String nome;
    private String email;
    private String cpf;

    //outros atributos e métodos

}
@Entity(name = "Cliente")
@Table(name = "clientes")
public class ClienteJpaEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String nome;
    private String email;
    private String cpf;

    //outros atributos e métodos

}

O problema é que você vai precisar ter essas classes de domínio "duplicadas" na camada de infra, além de ter que ficar fazendo a conversão de uma para outra.

Aqui tem um projeto em Java com um exemplo disso: https://github.com/rcaneppele/fj91-clean-architecture