Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] Error al intentar ejecutar el test "seleccionarMedicoConEspecialidadEnFechaEscenario1"

OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended Hibernate: insert into medicos (activo,calle,ciudad,complemento,distrito,numero,documento,email,especialidad,nombre,telefono) values (?,?,?,?,?,?,?,?,?,?,?) 2023-09-27T20:42:25.411-03:00 WARN 5840 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1054, SQLState: 42S22 2023-09-27T20:42:25.411-03:00 ERROR 5840 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : Unknown column 'activo' in 'field list'

org.hibernate.exception.SQLGrammarException: could not execute statement [Unknown column 'activo' in 'field list'] [insert into medicos (activo,calle,ciudad,complemento,distrito,numero,documento,email,especialidad,nombre,telefono) values (?,?,?,?,?,?,?,?,?,?,?)]

Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'activo' in 'field list'

1 respuesta

Hola Facundo,

Parece que la columna 'activo' no existe en tu tabla 'medicos'. La excepción SQLGrammarException indica que hay un problema con la sintaxis SQL que se está utilizando, en este caso, el problema es que se está intentando insertar un valor en la columna 'activo' que no existe en la tabla 'medicos'.

Hibernate genera las tablas y columnas basándose en las entidades. Por lo tanto, debes asegurarte de que tienes un campo llamado 'activo' en tu entidad Medico y que este campo está mapeado correctamente a la tabla 'medicos'.

@Entity
@Table(name = "medicos")
public class Medico {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "activo")
    private Boolean activo;

    // Otros campos...

}

En este ejemplo, la anotación @Column se utiliza para mapear el campo 'activo' de la entidad Medico a la columna 'activo' en la tabla 'medicos'. Si no tienes esta anotación en tu campo 'activo', Hibernate no creará la columna 'activo' en la tabla 'medicos'.

Después de hacer estos cambios, tendrías que reiniciar tu aplicación para que Hibernate pueda generar la columna 'activo' en la tabla 'medicos'.

Espero que esta información te sea útil. Mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte.

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios