Mysql
 sql >> Baza danych >  >> RDS >> Mysql

dane wiosenne JPA - mysql - findById() puste, chyba że findAll() zostało wywołane wcześniej

Miałem do czynienia z tym samym problemem. Podstawową przyczyną była niezgodność między niezerową relacją @ManyToOne a danymi utrwalonymi w tabeli. Miałem to:

@ManyToOne(optional = false)
  @JoinColumn(name="batch_id")
  private Batch batch;

co oznacza, że ​​identyfikator partii nie może mieć wartości null w żadnym wierszu. Jednak moje wiersze miały wartość null dla klucza obcego batch_id. Po usunięciu opcjonalne =false (co jest oczekiwaną regułą biznesową), findById zaczął działać zgodnie z oczekiwaniami.

Otrzymałem informację z tego wątku:Zmęczyło mnie robienie czegoś z JpaRepository, ale nie mogę znaleźć wiersza za pomocą findById,



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Optymalizuj zapytania MySQL za pomocą wielu LEFT JOIN i GROUP BY

  2. Baza danych MySQL jest uszkodzona... Co mam teraz zrobić?

  3. Problem z sortowaniem mysql-python:jak wymusić typ danych unicode?

  4. użyj warunku If else w celu wybrania kolumny w mysql?

  5. MySQL konwertuje tabelę z Latin1 na utf8