A la hora de correrlo, realiza la actualización a la ver 2, pero después arroja este error: he seguido al pie de la letra el código.
Alguien me podría ayudar, gracias
A la hora de correrlo, realiza la actualización a la ver 2, pero después arroja este error: he seguido al pie de la letra el código.
Alguien me podría ayudar, gracias
¡Hola Ricardo, espero que estés bien!
El error que estás experimentando indica que no se puede encontrar el constructor para la clase Direccion
, que es una clase embebida. Esto puede ser causado por varias razones, como una mala configuración o un error en la implementación de la clase.
Una solución: si estás usando Lombok y Eclipse, es necesario instalar Lombok para utilizarlo en el IDE Eclipse y así puedes utilizar las anotaciones referentes a constructor vacío y con atributos, por ejemplo.
Otra solución: crear manualmente el constructor vacío y/o constructor con atributos en tu código.
Si tienes alguna otra pregunta o si necesitas más ayuda, no dudes en preguntar. ¡Espero haber ayudado y buenos estudios!
Hola Ricardo, un gusto saludarte.
Quizás el error que tengas se deba a que no estas implementando de forma correcta las anotaciones en el atributo adecuado y en la clase Dirección.
@Embeddable
...
public class Direccion {
private String calle;
private String numero;
private String complemento;
...
...
public class Medico {
...
@Embedded
private Direccion direccion;
Hola Luis, gracias por la respuesta, te comparto el código tanto de la clase Direccion como de la clase Medico, creo que las anotaciones @Embeddable y @Embedded las estoy colocando correctamente, pero aún así cuando corro la aplicación sale ese error "Unable to locate constructor for embeddable : med.voll.api.direccion.Direccion"
import jakarta.persistence.Embeddable;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
@Embeddable
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class Direccion {
private String calle;
private String numero;
private String complemento;
private String distrito;
private String ciudad;
public Direccion(DatosDireccion direccion) {
this.calle = direccion.calle();
this.numero = direccion.numero();
this.complemento = direccion.complemento();
this.distrito = direccion.distrito();
this.ciudad = direccion.ciudad();
}
}
import jakarta.persistence.Embedded;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import med.voll.api.direccion.Direccion;
@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 nombre;
private String email;
private String telefono;
private String documento;
@Enumerated(EnumType.STRING)
private Especialidad especialidad;
@Embedded
private Direccion direccion;
public Medico(DatosRegistroMedico datosRegistroMedico) {
this.nombre = datosRegistroMedico.nombre();
this.email = datosRegistroMedico.email();
this.telefono = datosRegistroMedico.telefono();
this.documento = datosRegistroMedico.documento();
this.especialidad = datosRegistroMedico.especialidad();
this.direccion = new Direccion(datosRegistroMedico.direccion());
}
}