私は同じ問題に直面していました。根本的な原因は、null許容でない@ManyToOne関係と、テーブルに保持されているデータとの不一致でした。私はこれを持っていました:
@ManyToOne(optional = false)
@JoinColumn(name="batch_id")
private Batch batch;
つまり、batch_idをどの行でもnullにすることはできません。ただし、batch_id外部キーの行の値がnullでした。オプションの=false(予想されるビジネスルール)を削除した後、findByIdは期待どおりに機能し始めました。
このスレッドからの指示を得ました: JpaRepositoryで何かをするのに疲れましたが、findByIdで行が見つかりません