Je pense que vous pouvez mapper la classe, mais vous dans le mappage vous devez déclarer explicitement quel type sera utilisé en tant que paramètre générique, comme ceci:
<class name="GenericClass`1[ConcreteType], assembly"
table="table">
<id name="Id">
<generator class="identity"/>
</id>
</class>
dans votre cas, je suppose que ce sera:
<class name="Pair`1[Namespace.TheClass], assembly"
table="table">
<id name="Id">
<generator class="identity"/>
</id>
<many-to-one name="First" class="Namespace.TheClass, assembly"/>
</class>
comme un composant
<component name="Property" class="Pair`1[Namespace.TheClass], assembly">
<many-to-one name="First" class="Namespace.TheClass, assembly"/>
</component>
Et si vous voulez utiliser la même classe générique, ou d'un composant avec un autre type comme paramètre générique, vous devez créer un autre mappage pour ce cas spécifique.