oggetto la struttura è come questoRecuperare una struttura grafico in Hibernate
- fattura
- clienti
- Data
- Numero
- ha molte ProductLines (prodotto, quantità, prezzo)
- ha molti ServiceLines (Servizio, Quantità, Prezzo)
- ha molte paymentOptions (TipoDiPagamento (Controllare, Scontrino fiscale, ecc.), La data, Sum)
Se ho bisogno di recuperare un elenco delle fatture per un determinato periodo con Hibernate è molto facile da fare con pigro caricamento senza scrivere alcun codice basta chiamare get ... MA c'è lo svantaggio di troppe chiamate DB, quindi in un ambiente multiutente questa soluzione non è ok.
Con semplice JDBC ho risolto questo utilizzando 3 query: 3 join tra Fattura e linee di prodotto, fattura e linee di servizio e fattura e opzioni di pagamento. Dopo di ciò ho costruito l'oggetto nella memoria.
Lo stesso può essere fatto con Hibernate lo so, ma la mia domanda è che non esiste un grafico di carico o così posso passare un elenco di fatture e in un numero minimo di chiamate (ottimale) per recuperare i dati?
Sì, questo è risolvere il problema in una query. L'unico inconveniente è che il prodotto cartesiano di tutte queste tabelle può essere enorme no? – Cris
Infatti. Tuttavia, con questo metodo puoi sempre scegliere quali associazioni recuperare immediatamente e quali caricare pigramente.Quindi è possibile utilizzare la dimensione del batch, come suggerito da Simon, per accelerare i recuperi per i più pigri. –
+1 per l'esempio, che ho aggiunto alla mia risposta. –