Credo che ci siano solo due modi per caricare gli oggetti usando Hibernate e che è un caricamento lazy e uno è un caricamento avido. Il caricamento lento ha i suoi vantaggi, non sta caricando molti oggetti ma solo quando ne hai bisogno. Ho anche imparato che se vuoi forzare a caricare tutti i bambini per un oggetto, puoi semplicemente chiamare lo parent.getChildren().size()
. Quindi cerchiamo di dire che abbiamo i seguenti oggettiquando utilizzare il caricamento Lazy/caricamento Eager in sospensione?
@Entity
public class Customer{
public Set<Order> order;
}
@Entity
public class Order{
}
Supponiamo abbiamo clienti che ha l'ordine nel nostro sistema e potrebbe essere più di uno o addirittura nullo. Quindi la mia domanda è: non è meglio usare sempre il caricamento avido in questo caso? abbiamo bisogno della dimensione o di alcune informazioni per l'ordine relativo al cliente. Qual è il vantaggio dell'utilizzo del caricamento lazy in questa situazione, ci sono dei vantaggi?
Sto cercando di capire dove usare il caricamento lazy e dove usare il caricamento ansioso, apprezzo molto la tua visione.
Sono assolutamente d'accordo, scrivere due query separate sono molto meglio che utilizzare il caricamento pigro/ansioso. Grazie per chiarire. –
@hvgotcodes Puoi spiegare come raggiungere il punto # 7? –