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

Devolver Atributo ativo

Percebi que o atributo ativo não está sendo devolvido p/ o cliente, tentei fazer isso incluindo o atributo no dto DadosDetalhamentoMedico:

public record DadosDetalhamentoMedico(Long id, String nome, String email, String crm, String telefone, Especialidade especialidade, Endereco endereco, Boolean ativo) {
    public DadosDetalhamentoMedico (Medico medico) {
        this(medico.getId(), medico.getNome(), medico.getEmail(), medico.getCrm(), medico.getTelefone(), medico.getEspecialidade(), medico.getEndereco(), medico.getAtivo());

    }
}

mas não compila, dando erro no parâmetro Boolean ativo, bem como não existe o método medico.getAtivo()

@Table(name = "medicos")
@Entity(name = "Medico")
@Getter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(of = "id")
public class Medico {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String nome;
    private String email;
    private String telefone;
    private String crm;
    @Enumerated(EnumType.STRING)
    private Especialidade especialidade;
    @Embedded
    private Endereco endereco;
    private boolean ativo;

    public Medico(DadosCadastroMedico dados) {
        this.nome = dados.nome();
        this.email = dados.email();
        this.telefone = dados.telefone();
        this.crm = dados.crm();
        this.especialidade = dados.especialidade();
        this.endereco = new Endereco(dados.endereco());
        this.ativo = true;
    }

Alguém consegue identificar o problema?

2 respostas
solução!

Oi Álvaro!

Você declarou o atributo como tipo primitivo (boolean ao invés de Boolean), então o Lombok gerou o método com o nome isAtivo() ao invés de getAtivo().

Funcionou, obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software