Mysql
 sql >> Datenbank >  >> RDS >> Mysql

spring data JPA - mysql - findById() leer, es sei denn, findAll() wurde zuvor aufgerufen

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,