The fast, reliable and mature O/R mapping features that NHibernate comes with provides a remarkable reduction in the overall development cycle. However, as the application grows in complexity and the data on which they thrive upon becomes complex, the generality of such OR mapping engines may lead to various performance and scalability bottleneck. Applications cannot scale linearly with the increasing transactional requirements. Caching is one approach that provides just the right solution to address such issues. Infect the fact that caching does provide a remarkable performance boost to applications performance is recognized by the makers of NHibernate. NHibernate provides some caching infrastructure. Bu default it provides a standalone InProc (in process) first-level (L1) cache, or session-level cache. However in addition, , NHibernate also supports a second-level cache to be plugged in to exploit the benefits of a sophisticated enterprise-grade caching infrastructure.