Your xml mapping will be something like this:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="SchoolStructure" table="SchoolStructure">
<id name="ID">
<column name="ID"/>
<generator class="native" />
</id>
<many-to-one name="ParentStructure" column="ParentStructureEntityID" />
</class>
</hibernate-mapping>
And your class will be:
public class SchoolStructure
{
public virtual int ID {get; private set;}
public virtual SchoolStructure ParentStructure { get; set;}
}
That's of course for starters. You should ideally override GetHashCode and Equals in proper manner. Finally I humbly suggest using mapping by code instead of xml mapping. Good luck!