Found my own solution here:
http://www.theserverside.net/articles/s ... NHibernate
I just did not know how to use subclassing properly :D
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
<class name="nhRegistration.Person, nhRegistration" table="people">
<id name="Id" column="personid" type="Int32">
<generator class="assigned" />
</id>
<discriminator column="persontype" type="String"/>
<property name="FirstName" column="firstname"
type="String(50)"/>
<property name="LastName" column="lastname"
type="String(50)"/>
<subclass name="nhRegistration.Professor, nhRegistration"
discriminator-value="professor">
<property name="Identifier" column="identifier"
type="String"/>
</subclass>
<subclass name="nhRegistration.Student, nhRegistration"
discriminator-value="student">
<property name="SSN" column="identifier"
type="String"/>
</subclass>
</class>
</hibernate-mapping>