私は現在、クラスにhilo idジェネレーターを使用していますが、最小限の設定を使用しています。
<class name="ClassA">
<id name="Id" column="id" unsaved-value="0">
<generator class="hilo" />
</id>
...
しかし、実際にNHibernateがforeachエンティティを使用するための新しい列を指定し、それに最大loを提供する必要がありますか?
<class name="ClassA">
<id name="Id" column="id" unsaved-value="0">
<generator class="hilo">
<param name="table">hibernate_unique_key</param>
<param name="column">classA_nexthi</param>
<param name="max_lo">20</param>
</generator>
</id>
...
<class name="ClassB">
<id name="Id" column="id" unsaved-value="0">
<generator class="hilo">
<param name="table">hibernate_unique_key</param>
<param name="column">classB_nexthi</param>
<param name="max_lo">20</param>
</generator>
</id>
...
また、上記を実行すると、SchemaExportがすべての列を作成するわけではなく、classB_nexthiのみが作成されることに気付きました。他に、間違っていることがあります。