NHibernate è un Object Relational Mapper (in sigla ORM), ovvero una libreria in grado di mappare oggetti su database relazionali e viceversa. Detto in altri termini, esso consente di gestire la persistenza degli oggetti, ovvero il salvataggio del loro stato in memoria permanente.
La necessità di un ORM nasce dall’intrinseca differenza tra il modello relazionale è quello ad oggetti; quest’ultimo, infatti, ha concetti come ereditarietà e polimorfismo che non hanno una controparte nel mondo relazionale. Per tale ragione, se si ha la necessità di gestire la persistenza su database relazionali, è consigliabile appoggiarsi ad una libreria che si occupi di gestire nella maniera più trasparente possibile le trasformazioni necessarie tra questi due mondi.
Per approfondire l’argomento, si consiglia di leggere l’articolo Introduzione a NHibernate.