This is very similar to my previous question: FluentNHibernate: How to translate HasMany(x => x.Addresses).KeyColumn("PersonId") into automapping
Say
I've tested your classes with FHN's auto-mapping feature and it does not create that second PersonId on Address table. I'm using FHN v1.2.0.721 from here