As I read here http://www.theserverside.net/tt/articles/showarticle.tss?id=NHibernate
for example
public class Department
{
private int id;
private string name;
private IDictionary classes;
private IDictionary professors;
}
Why not use Generic List ?