Dalla mia esperienza dell'utilizzo di MVC molla in concomitanza con l'ibernazione, conosco il problema delle eccezioni lazy che si verifica quando si effettua l'indirizzamento alla raccolta lazy-retriever durante il rendering della vista. E 'puro spring + hibernate world risolve introducendo OpenSessionInViewInterceptor
o OpenSessionInViewFilter
abilitando così una sessione di sospensione per richiesta.Dovrei occuparmi di Open Session in View quando uso Grails?
Quindi la domanda è: dovrei preoccuparmi di questo problema in Grails o tale comportamento di una sessione per richiesta è abilitato per impostazione predefinita.
Se non si tratta di valori predefiniti dei grails, fornire un codice per implementare questo comportamento.
Grazie.
Per uno stato di visualizzazione, quando imposto un'istanza di domini come variabile di PageScope (da taglib) e provo ad accedervi in vista, perché ottengo l'eccezione di inizializzazione Pigro, non è stato possibile inizializzare il proxy senza errori. La sessione non è ancora aperta, perché il tag è in gsp (layout) che viene reso come parte dello stato di visualizzazione. Si può rispondere http://stackoverflow.com/questions/21456784/grails-webflow-error-could-not-initialize-proxy-no-session-when-trying-to-ac –
Non sono sicuro del dettagli, ma questo ha a che fare con Sitemesh e l'ordine di rendering della pagina. Penso che la sessione si chiuda dopo l'esecuzione dell'azione del controller, ma prima che il GSP sia reso. In generale, è meglio passare tutti i dati necessari alla vista per evitare questo e altri problemi. Consentendo che il caricamento lazy avvenga nel GSP, stai facendo richieste di database da un GSP che è una cattiva pratica in generale –
Il problema è che ho bisogno di accedere ad alcuni domini nel layout. Quale sarebbe l'approccio giusto in questo caso? –