Jag stod inför samma problem. Grundorsaken var oöverensstämmelsen mellan icke-nullbar @ManyToOne-relation och data som fanns kvar i tabellen. Jag hade detta:
@ManyToOne(optional = false)
@JoinColumn(name="batch_id")
private Batch batch;
vilket innebär att batch_id inte kan vara null i någon rad. Men mina rader hade nullvärde för batch_id främmande nyckel. Efter att ha tagit bort optional =false (vilket är den förväntade affärsregeln) började findById fungera som förväntat.
Fick indikation från den här tråden:Jag har tröttnat på att göra något med JpaRepository men kan inte hitta rad med findById ,