NHibernate 3.3:composite-id是否生成了key属性?

时间:2012-04-27 17:40:09

标签: nhibernate composite-id

我已经读过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" />

基本上我需要一个复合id的属性由NH自动计算。

也许存在一种获得相似之处的技巧?

提前致谢。

1 个答案:

答案 0 :(得分:3)

你必须自己实现它,因为CompositeIds总是为NH指定生成

class Digital
{
    private static long number = 0;

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

    public Digital()
    {
        Id = NextNumber();
    }
}