4

このマッピングは NHibernate 3.3 では不可能であると読みました:

<class name="Digital" table="DIGITALS">
    <composite-id>
      <key-many-to-one name="Person" class="Person" column="PERSONID" />
      <key-property name="Id" column="ID">
        **<generator class="increment"/>**
      <key-property/>
    </composite-id>
    <property name="Nombre" column="NOMBRE" />

基本的に、NH によって自動的に計算されるコンポジット ID のプロパティが必要です。

たぶん、似たようなものを得るテクニックが存在しますか?

前もって感謝します。

4

1 に答える 1

3

CompositeId は常に NH に割り当てられて生成されるため、自分で実装する必要があります。

class Digital
{
    private static long number = 0;

    private static long NextNumber()
    {
        return Interlocked.Increment(ref number);
    }

    public Digital()
    {
        Id = NextNumber();
    }
}
于 2012-05-03T07:01:53.670 に答える