Atrybut lazy=true
to umożliwienie leniwego ładowania kolekcji nadrzędnych i potomnych oraz tej samej atrybutu: fetch="select"
. Czy jest jakaś różnica między lazy="true"
a fetch="select"
w stanie hibernacji ?.jaka jest różnica między leniwym = "true" i fetch = "select" w stanie hibernacji?
Odpowiedz
Tak.
Atrybut mówi hibernacji , gdy, aby uzyskać dzieci. Atrybut
Atrybut fetch
mówi hibernacji , jak, aby uzyskać dzieci.
Kiedy mówisz
Leniwy = true atrybut jest umożliwienie leniwy załadunku rodzica i dziecka kolekcji i samego pobrania = „select” atrybut
że jest płaska się błędne. Wybrana strategia pobierania to NIE to samo, co wyłączanie leniwego ładowania. W rzeczywistości, from the documentation
Wybierz Pobieranie: drugi SELECT służy do pobierania powiązanych podmiot lub kolekcji. O ile nie wyłączysz jawnie leniwego pobierania przez , określając leniwy = "fałsz", to drugie wybieranie zostanie wykonane tylko po uzyskaniu dostępu do powiązania, gdy uzyskasz .
Kiedy mówimy fetch="select"
, to zawsze będzie uruchamiać oddzielne zapytania, aby pobrać obiekty skojarzeń, nawet jeśli jest to lazy ="false"
.
Ale kiedy mówimy lazy ="true"
, oznacza to, że pobierze obiekty skojarzenia w osobnej kwerendzie, ale nie w momencie ładowania obiektu, ale gdy połączenie zostanie po raz pierwszy udostępnione. Możemy to zrobić, mówiąc: list().size()
.
Kiedy mówimy fetch="join"
, zawsze wystrzeli ono pojedynczą kwerendę, aby uzyskać skojarzenie obiektów z bazy danych.
Aby rozwiązać problem n + 1, wybierz problem dla zapytań n (relacja parent parent) w hibernacji używamy fetch = "join" zamiast fetch = "select". Ustawienie leniwy decyduje, czy załadować obiekty podrzędne podczas ładowania obiektu nadrzędnego. Musisz to zrobić, odpowiedni plik odwzorowania hibernacji w klasie nadrzędnej.Lazy = true (znaczy, aby nie ładować elementu podrzędnego) Domyślnie leniwy ładunek obiektów podrzędnych jest prawdziwy .
- 1. Jaka jest różnica między Fetch a Query?
- 2. Jaka jest różnica między select() i selectAll()
- 3. Jaka jest różnica między funkcjami mysqli bind_result, store_result i fetch?
- 4. W statystykach hibernacji jaka jest różnica między ładowaniem i pobieraniem
- 5. Jaka jest różnica między Timer.Start i Timer.Enabled = True w vb.net?
- 6. Jaka jest różnica między -DskipTests i -Dmaven.test.skip = true
- 7. Jaka jest różnica między źródłami wysyłania GCD i select()?
- 8. Linq: Jaka jest różnica między Select i Where
- 9. @UniqueConstraint i @Column (unikatowy = true) w hibernacji adnotacji
- 10. Jaka jest różnica między Eclipse i Myeclipse
- 11. Jaka jest różnica między? : i ||
- 12. Jaka jest różnica między $ i $$?
- 13. Jaka jest różnica między! = I =! w Javie?
- 14. Jaka jest różnica między JFrame.getContentPane() i JFrame.getRootPane()?
- 15. Jaka jest różnica między bundle.setup i bundle.require
- 16. Różnica między AutoPostBack = True i AutoPostBack = Fałsz?
- 17. Jaka jest różnica między = i: = w mysql?
- 18. Jaka jest różnica między 'i "w PHP
- 19. Jaka jest różnica między! i !! w yaml?
- 20. jaka jest różnica między @ i @@ w module?
- 21. Jaka jest różnica między * i. * W Matlab?
- 22. Jaka jest różnica między | i || w MATLAB?
- 23. Jaka jest różnica między * i * | * w CSS?
- 24. Jaka jest różnica między addView i addViewInLayout
- 25. Jaka jest różnica między mock.patch.object (... i mock.patch (
- 26. Jaka jest różnica między System.Linq.Enumerable.WhereListIterator i System.Linq.Enumerable.WhereSelectListIterator?
- 27. Jaka jest różnica między „tableView.contentSize” i „tableView.frame.size”
- 28. Jaka jest różnica między („”) i (null)
- 29. Git "Fetch URL" i "Push URL", jaka jest różnica?
- 30. Jaka jest różnica między << i + =?
Dziękuję. Mam inną wątpliwość, gdy odczytuję różnicę w wartościach pobranych przy pobieraniu Proxy lub "Nie-proxy", które są nazywane wartościami jednorazowymi. Co to jest asocjacja o jednej wartości w stanie hibernacji? – user1127214