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

Wiosna, hibernacja, leniwe ładowanie Blob

Jestem zmieszany. Emmanuel Bernard napisał w ANN-418 że @Lob są domyślnie leniwe (tzn. nie musisz nawet używać @Basic(fetch = FetchType.LAZY) adnotacja).

Niektórzy użytkownicy zgłaszają, że leniwe ładowanie @Lob nie działa ze wszystkimi sterownikami/bazą danych .

Niektórzy użytkownicy zgłaszają, że działa podczas korzystania z instrumentacji kodu bajtowego (javassit? cglib?).

Ale nie mogę znaleźć żadnego wyraźnego odniesienia do tego wszystkiego w dokumentacji.

Na koniec zalecane obejście jest użycie "fałszywych" mapowań jeden-do-jednego zamiast właściwości. Usuń pola LOB z istniejącej klasy, utwórz nowe klasy odwołujące się do tej samej tabeli, tego samego klucza podstawowego i tylko niezbędnych pól LOB jako właściwości. Określ mapowania jako jeden do jednego, fetch="select", lazy="true". Dopóki obiekt nadrzędny jest nadal w sesji, powinieneś otrzymać dokładnie to, czego chcesz. (po prostu zamień to na adnotacje).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zgłosić błąd w funkcji MySQL

  2. odpowiednik generate_series() w MySQL

  3. PHP/MySQL Wstaw wartości puste

  4. Błąd podczas zmiany nazwy kolumny w MySQL

  5. PDO:serwer MySQL zniknął