La differenza tra pigro: true e fetchMode 'ansioso' sono
- pigro: true otterrà l'oggetto dominio associato tramite una query di nuovo al database utilizzando Seleziona Query, ma fetchMode 'eager' che ora è deprecato (usa fetch: 'join') proverà a unirsi alle tabelle associate (usando outer join) e recupererà gli oggetti associati in una singola query.
- lazy: false avrà un'altra query al database per recuperare l'oggetto dominio associato e quindi avrà più interazioni con il database mentre fetch: 'join' avrà meno interazione per recuperare gli stessi dati.
- FetchMode Join sostituisce la proprietà lazy. Semplicemente ignorerà il pigro: falso.
Se sei interessato a una spiegazione dettagliata su Fetchmodes, dai un'occhiata a http://www.solidsyntax.be/2013/10/17/fetching-collections-hibernate/. L'articolo descrive i fetchmode di Hibernate e l'output che producono.
Spero che questo aiuti.
Penso che questo potrebbe rispondere alla tua domanda: [http://stackoverflow.com/questions/654704/grails-gorm-default-fetch-strategy-when-to-set-fetchmode-to-eager- ansioso-vs] [1] [1]: http://stackoverflow.com/questions/654704/grails-gorm-default-fetch-strategy-when-to-set-fetchmode-to-eager -eager-vs –
Grazie per il link, ma la risposta sembra descrivere la differenza tra 'lazy: true' e' lazy: false'. La risposta non menziona 'fetchMode = [...]' – XDR
Sarebbe bello che qualcuno potesse rispondere a questa domanda in quanto non ho trovato alcuna spiegazione sulla documentazione di Grails né su Internet. – Merlin