Che cos'è la fabbrica di procura del castello in NHibernate? Qual è il suo compito? Cosa significa proxy in questo caso?Che cos'è la fabbrica di procura del castello in NHibernate?
risposta
Castle può essere utilizzato (tra gli altri, è possibile scegliere, è anche possibile utilizzare LinFu, Spring.NET, ...) per creare proxy dinamici delle entità.
Per impostazione predefinita, NHibernate utilizza i proxy dinamici per rappresentare le entità; così facendo, è in grado di restituire un oggetto quando si recupera qualche entità dal DB, senza che tutte le proprietà vengano popolate. Usando un proxy dinamico, popolerà l'entità solo quando si fa realmente riferimento a una proprietà.
(Quindi si tratta di una sorta di caricamento lazy, da non confondere con il caricamento lazy di collezioni/associazioni però).
Questo comportamento è il motivo per cui NHibernate vuole di creare ogni proprietà come virtuale di default: NHibernate creerà una nuova classe utilizzando questo castello (o Linfu, ...), fornitore di procura che eredita dal vostro ente, e sarà sovrascrive tutte le proprietà in modo che possa "iniettare" il codice necessario per recuperare i dati necessari dal DB.
È possibile disabilitare questo comportamento specificando "lazy = false" nella mappatura dell'entità. (Anche se, penso che anche se si disabilita questa funzione, NHibernate richiederà comunque l'utilizzo di una delle fabbriche proxy).
Quando si seleziona un'entità da ISession non si ottiene un'istanza di entità reale: si ottiene oggetto proxy. Questo oggetto proxy eredita la tua entità e utilizzato da NHibernate per tenere traccia delle modifiche apportate ai campi.
- 1. creazione del proxy dinamico del castello
- 2. Comprensione del modello di fabbrica
- 3. Direttiva/Fabbrica che non funziona in produzione
- 4. La factory proxy è necessaria in NHibernate?
- 5. Crea una ragazza di fabbrica che ignora la convalida del mio modello
- 6. Metodo di fabbrica VS Oggetto di fabbrica
- 7. Che cos'è un modello di progettazione in fabbrica in PHP?
- 8. org.hibernate.LazyInitializationException: impossibile inizializzare la procura - nessuna sessione, encore un fois
- 9. Castello. Stile di vita dei viandanti a seconda del contesto?
- 10. approccio dinamico del modello di fabbrica
- 11. Problema utilizzando la fabbrica astratta
- 12. castello PerRequestLifestyle non riconosciuto
- 13. Dependency Injection e la fabbrica
- 14. Elenco in elenco (Modello) Fabbrica
- 15. Utilizzo del riflesso nel modello di fabbrica
- 16. con parametri di fabbrica e di prodotti classi che non è possibile creare un'istanza senza la fabbrica
- 17. Implementazione di una fabbrica per la composite
- 18. Che cos'è una proiezione in NHibernate?
- 19. istantanee con contenitori figlio Castello di Windsor
- 20. Obscure errore NHibernate/Fluent NHibernate
- 21. codice di completamento e la fabbrica modello in Eclipse PDT
- 22. Alternative leggere a NHibernate
- 23. simulazione di fabbrica
- 24. PBKDF2 nel castello gonfiabile C#
- 25. Modello di fabbrica astratto
- 26. Problemi di implementazione del modello di progettazione di fabbrica
- 27. Come sovrascrivere un componente con il windsor del castello?
- 28. pythoncomplete in vim: restituisce la funzione di fabbrica hardcode?
- 29. mito modello di fabbrica
- 30. Registrazione automatica di fabbrica