Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] DTO x Entity

Qual a diferença entre as classes DTOs e Entidades?

Pelo que entendi, no DTO irá conter apenas os atributos dos objetos e métodos Getters. No entanto, nas classes de Entidade também existem esses atributos que são iguais aos das classes DTO.

Portanto, por que não já aproveitarmos esses atributos da Entity e reduzirmos a quantidade de código, sem criar uma nova classe DTO?

2 respostas
solução!

Olá Matheus, tudo bem?

Excelente pergunta! As classes DTO (Data Transfer Object) e Entidades são diferentes em suas finalidades e usos.

As Entidades representam objetos de negócio que serão armazenados no banco de dados. Elas possuem atributos que representam as colunas da tabela no banco de dados, além de métodos que permitem manipular esses atributos. Já as classes DTOs são utilizadas para transferir dados entre diferentes camadas de uma aplicação, como por exemplo, entre a camada de serviço e a camada de apresentação. Elas possuem apenas os atributos necessários para a transferência de dados, sem a lógica de negócio presente nas entidades.

Embora as classes DTOs possam possuir atributos iguais aos das classes de Entidade, elas são utilizadas em contextos diferentes. A criação de uma classe DTO permite que a aplicação seja mais flexível e escalável, pois permite que as mudanças na camada de persistência não afetem outras camadas da aplicação. Além disso, a utilização de DTOs pode melhorar a performance da aplicação, pois reduz a quantidade de dados trafegados entre as camadas.

Espero ter ajudado a esclarecer suas dúvidas. Qualquer outra pergunta, é só perguntar!

Bons estudos!

Obrigado pelo esclarecimento, Otávio. Vi também que essa dúvida foi esclarecida em uma atividade da aula seguinte: https://cursos.alura.com.br/course/spring-boot-3-desenvolva-api-rest-java/task/116068