Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

spring data JPA - mysql - findById() vazio a menos que findAll() seja chamado antes


Eu estava enfrentando o mesmo problema. A causa raiz foi a incompatibilidade entre a relação @ManyToOne não anulável e os dados persistidos na tabela.
@ManyToOne(optional = false)
  @JoinColumn(name="batch_id")
  private Batch batch;

o que significa que batch_id não pode ser nulo em nenhuma linha. No entanto, minhas linhas tinham valor nulo para a chave estrangeira batch_id. Após remover optional =false (que é a regra de negócios esperada), findById começou a funcionar conforme o esperado.

Obteve indicação deste tópico:Cansei de fazer algo com JpaRepository Mas não consigo encontrar linha com findById ,