Creo que hay solo dos formas de cargar objetos usando Hibernate y que es una carga floja y una carga ansiosa. La carga diferida tiene sus propias ventajas, no está cargando muchos objetos, sino solo cuando los necesita. También aprendí que si desea obligar a cargar a todos los niños para un objeto, simplemente puede llamar al parent.getChildren().size()
. Así que vamos a decir que tenemos los siguientes objetoscuándo usar Lazy loading/Eager loading en hibernate?
@Entity
public class Customer{
public Set<Order> order;
}
@Entity
public class Order{
}
Asumamos que tenemos clientes que tiene pedidos en nuestro sistema y que podría haber más de una o incluso nula. Entonces mi pregunta es: ¿no es mejor usar siempre una carga ansiosa en este caso? necesitamos el tamaño o alguna información para la orden relacionada con el cliente. ¿Cuál es el beneficio de usar cargas perezosas en esta situación? ¿Hay algún beneficio?
Estoy tratando de entender dónde usar la carga lenta y dónde usar la carga ansiosa, aprecio mucho su visión.
Estoy completamente de acuerdo, escribir dos consultas por separado es mucho mejor que usar la carga floja/ansiosa. Gracias por dejarlo en claro. –
@hvgotcodes ¿Puedes explicar cómo lograr el punto n. ° 7? –