NHibernate 3 è in grado di supportare il lazy load anche delle proprietà scalari; questa funzionalità può essere utile nei casi nei quali il caricamento della colonna corrispondente sia oneroso (es: colonne binarie/image, text/clob, ...).
Per sfruttare questa funzionalità è sufficiente utilizzare opportunamente l'attributo lazy nel mapping; ipotizzando di voler rendere lazy la proprietà Notes della "classica" entità "Employee" ottenuta mappando il database Northwind, sarà sufficiente inserire il seguente snippet nel mapping della suddetta entità:
<property name="Notes" type="StringClob" lazy="true" />
Non esiste limitazione al numero di proprietà definibili come "lazy" in una entità, ma è importante sapere che NHibernate 3 caricherà contestualmente tutte le proprietà scalari "lazy" di un oggetto al momento del primo accesso in lettura ad una qualunque di esse.
Si noti, infine, che questa funzionalità è disponibile esclusivamente utilizzando la factory dei proxy basata su Castle, come specificato nella seguente configurazione (da inserirsi nel blocco <hibernate-configuration /> del file di configurazione):
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>