 <p>It all depends on what _repository.ToList() is doing under the covers. You can force "eager" fetching of your collections via HQL syntax similar to the following:</p> <pre><code>"from Parent inner join fetch Children" </code></pre> <p>HQL statements are meant to be flexible, and so they tend to ignore your collection mapping and join strategies defined either fluently or in the hbm xml files.</p> <p>You should now see only a single query executed against the database.</p>