如何在新数据库中创建hibernate_unique_key表?

Lad*_*nka 2 .net nhibernate

我正在尝试使用NHibernate 2.0初学者指南中的NHibernate创建我的第一个测试应用程序.该示例在映射中使用HiLo POID生成器.据我所知,该算法需要特殊的数据库表来存储当前的Hi值.但我不明白这个表是如何创建的?我是否需要手动创建表(我没有找到此表的SQL脚本),还是应该由会话自动创建?

我当前的代码抛出异常消息:无效的对象名称'hibernate_unique_key'并且我的数据库中不存在表.

Rip*_*ppo 8

我建议每个表的hilo策略,要做到这一点,你需要创建表manually,然后添加一些数据行,例如

CREATE TABLE hibernate_unique_key (
  TableName varchar(25) NOT NULL,
  NextHi bigint NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

然后在数据库中为every要使用hilo的表添加一行:例如

CmsLogin,10
Address, 10
Run Code Online (Sandbox Code Playgroud)

您的映射将包含以下内容: -

    <id name="Id" column="Id" unsaved-value="0">
        <generator class="hilo">
            <param name="column">NextHi</param>
            <param name="where">TableName='CmsLogin'</param>
            <param name="max_lo">100</param>
        </generator>
    </id>
Run Code Online (Sandbox Code Playgroud)

和中提琴!