algo como List endereco, como eu faria no construtor pra isso funcionar?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
algo como List endereco, como eu faria no construtor pra isso funcionar?
Oi!
Bastaria mapear como um relacionamento:
@OneToMany(Cascade = CascadeType.ALL, mappedBy = "medico")
private List<Endereco> enderecos = new ArrayList<>();
E a classe Endereco converter para uma entidade:
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Getter
@EqualsAndHashCode(of = "id")
@Entity(name = "Endereco")
@Table(name = "enderecos")
public class Endereco {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
private Medico medico;
private String logradouro;
private String bairro;
private String cep;
private String numero;
private String complemento;
private String cidade;
private String uf;
public Endereco(DadosEndereco dados) {
this.logradouro = dados.logradouro();
this.bairro = dados.bairro();
this.cep = dados.cep();
this.uf = dados.uf();
this.cidade = dados.cidade();
this.numero = dados.numero();
this.complemento = dados.complemento();
}
public void atualizarInformacoes(DadosEndereco dados) {
if (dados.logradouro() != null) {
this.logradouro = dados.logradouro();
}
if (dados.bairro() != null) {
this.bairro = dados.bairro();
}
if (dados.cep() != null) {
this.cep = dados.cep();
}
if (dados.uf() != null) {
this.uf = dados.uf();
}
if (dados.cidade() != null) {
this.cidade = dados.cidade();
}
if (dados.numero() != null) {
this.numero = dados.numero();
}
if (dados.complemento() != null) {
this.complemento = dados.complemento();
}
}
}