Lazy loading is about "when associated entities are loaded". There is another angle to loading associated entities which is about "how associated entities are loaded". The latter is controlled by a feature called fetching strategy. A simple example here would help. Suppose you want to retrieve all benefit records for a particular employee. There are different ways of doing this. For instance, following are two different SQL queries that I can think of to retrieve benefit records:
Benefittable using a
WHEREclause that limits the records by matching foreign key column
Employee_Idto the ID of the employee record
NHibernate supports three different ...