NHibernate HiLo - 所有实体的一个表

时间:2009-08-31 09:57:20

标签: nhibernate

我正在使用NHibernate HiLo作为我的身份生成器。我目前在我的数据库中为每个实体表都有一个表格。例如,我有Customer和CustomerKey表,每个表都有一个NextHiLo列。

有一个很棒的东西是一个单独的表,其中包含所有其他表的关键。如果我可以有这样的表格,那么就好了。

TableName | NextHiLo
Customer | 19
Invoice | 5
Receipt | 3

如果使用NHibernate是不可能的,那么下一个最好的事情就是:

CustomerHiLo | InvoiceHiLo | ReceiptHiLo
19 | 5 | 3

上面两个选项中的任何一个都可以实现 - NHibernate生成的模式生成脚本不支持它们中的任何一个吗?

3 个答案:

答案 0 :(得分:12)

您是否尝试过使用hilo生成器的where属性? 类似的东西:

<class name="Customer">
    <id name="Id">
        <generator class="hilo">
            <param name="where">TableName = 'Customer'</param>
            ...
        </generator>
    </id>
    ...
</class>

答案 1 :(得分:2)

有一个补丁可以在JIRA上添加它,但我不知道它何时会在主干https://nhibernate.jira.com/browse/NH-1374

答案 2 :(得分:2)