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

DTO X record

Professor, entao o record funciona igual ao dto, deixando os atributos private? Em aplicaçoes reais usa-se mais o record ou o DTO? Mais uma coisa , na empresa utilizo um InputDTO para receber os dados nesse caso poderia fazer um record para isso e um DTO para exportar os dados caso precisasse de logica dentro do DTO ou o record tbm aceita logica?

1 resposta
solução!

Olá, Gabriela.

Tudo bem?

O recurso record introduzido no Java 14 é realmente muito útil para representar classes imutáveis, como classes DTO. Com o record, você pode definir os atributos da classe diretamente no construtor e terá automaticamente métodos equals(), hashCode() e toString() implementados para você.

Respondendo à sua pergunta, o record funciona de forma semelhante ao DTO, permitindo que você defina atributos privados. No entanto, o record é mais conciso e simplificado, pois não requer a implementação manual de getters, setters, equals(), hashCode() e toString().

Em relação ao uso do record ou do DTO em aplicações reais, depende do contexto e das necessidades específicas do projeto. O record é uma opção interessante para classes imutáveis simples, onde você precisa apenas representar dados. Já o DTO é mais flexível e pode ser usado quando você precisa adicionar lógica ou comportamento específico à classe.

Quanto à sua pergunta sobre o uso do record para receber dados e do DTO para exportar dados, é possível utilizar o record para ambas as situações. O record pode conter lógica e comportamento, assim como o DTO. Portanto, você pode usar o record para receber os dados e também para exportá-los, caso necessite de lógica dentro do DTO.

Espero ter esclarecido suas dúvidas! Se tiver mais alguma pergunta, é só me dizer. Bons estudos!

Fonte: Documentação oficial do Java