objeto es asíRecuperar una estructura gráfica en Hibernate
- factura
- cliente
- Fecha
- Número
- tiene muchas ProductLines (producto, cantidad, precio)
- tiene muchas líneas de servicio (servicio, cantidad, precio)
- tiene muchas PaymentOptions (TipoPago (Cheque, recibos, etc.), Fecha, SUM)
Si necesito para recuperar una lista de facturas durante un período determinado con Hibernate es muy fácil de hacer con perezosa cargando sin escribir ningún código simplemente llame a get ... PERO existe la desventaja de demasiadas llamadas a bases de datos, por lo que en un entorno multiusuario esta solución no está bien.
Con JDBC simple resolví esto usando 3 consultas: 3 uniones entre Factura y ProductLines, Factura y Líneas de servicio y Factura y Opciones de pago. Después de eso construí el objeto en la memoria.
Lo mismo se puede hacer con Hibernate Sé, PERO mi pregunta es que no hay tal cosa como cargar el gráfico o puedo pasar una lista de facturas y en un número mínimo de llamadas (óptima) para recuperar los datos?
Sí, eso es resolver el problema en una consulta. El único inconveniente es que el producto cartesiano de todas estas tablas puede ser enorme, ¿no? – Cris
De hecho. Sin embargo, con este método siempre puede elegir qué asociaciones buscar de inmediato y cuáles cargar de forma perezosa.Entonces puede usar el tamaño del lote, como sugirió Simon, para acelerar las recuperaciones de los perezosos. –
+1 para el ejemplo, que he agregado a mi respuesta. –