Ich stand vor dem gleichen Problem. Die Hauptursache war die Nichtübereinstimmung zwischen der @ManyToOne-Beziehung ohne Nullwert und den Daten, die in der Tabelle bestehen blieben. Ich hatte Folgendes:
@ManyToOne(optional = false)
@JoinColumn(name="batch_id")
private Batch batch;
was bedeutet, dass batch_id in keiner Zeile null sein darf. Meine Zeilen hatten jedoch einen Nullwert für den Fremdschlüssel batch_id. Nach dem Entfernen von optional =false (was die erwartete Geschäftsregel ist) fing findById an, wie erwartet zu funktionieren.
Habe Hinweise aus diesem Thread:Ich habe es satt, etwas mit JpaRepository zu machen, kann aber keine Zeile mit findById finden,