sql >> Base de Datos >  >> RDS >> Mysql

datos de primavera JPA - mysql - findById () vacío a menos que se llame a findAll () antes

Estaba enfrentando el mismo problema. La causa raíz fue la discrepancia entre la relación @ManyToOne no anulable y los datos persistentes en la tabla. Tenía esto:

@ManyToOne(optional = false)
  @JoinColumn(name="batch_id")
  private Batch batch;

lo que significa que batch_id no puede ser nulo en ninguna fila. Sin embargo, mis filas tenían un valor nulo para la clave externa batch_id. Después de eliminar opcional =falso (que es la regla comercial esperada), findById comenzó a funcionar como se esperaba.

Obtuve una indicación de este hilo:Me cansé de hacer algo con JpaRepository pero no puedo encontrar la fila con findById,