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

Construtor padrão e JPA

Entendi que para o JPA funcionar corretamente no Spring Boot, a gente precisa criar um construtor padrão. Porém, e se por exemplo, eu ter uma classe que não faria sentido eu ter um construtor que não recebe nenhum parâmetro. Por exemplo, criar um Curso sem definir o nome e a categoria por exemplo?

Como lidar com esse cenário? Nesse caso, a única solução seria utilizar setter para popular os atributos da minha classe?

Não sei se fui claro. A ideia é mais pensar na possibilidade... porque as vezes não faz sentido a gente instanciar um objeto de uma classe sem passar alguns parâmetros iniciais e etc... e com setters isso não garante que possamos tomar um NullPointer exception se esquecermos de setar algo.

1 resposta
solução!

Oi Leonardo,

Não me recordo agora se o construtor pode ser private, pois se puder resolve o problema.

O que o pessoal faz também é deixar o construtor anotado com @Deprecated, para indicar que ele não deveria ser utilizado.

Não dá para garantir 100% que o construtor default não será chamado, pois mesmo private é possível utilizar reflection para chamá-lo, então o que vale é definir como boa prática para o time de desenvolvimento nunca utilizar o construtor default, já que ele precisará estar lá nas classes.

Bons estudos!