我正在尝试使用NHibernate在NHibernate 2.0 Beginners Guide中创建我的第一个测试应用程序。该示例在映射中使用HiLo POID生成器。据我所知,该算法需要特殊的数据库表来存储当前的Hi值。但我不明白这个表是如何创建的?我是否需要手动创建表(我没有找到此表的SQL脚本),还是应该由会话自动创建?
我当前的代码抛出异常消息:无效的对象名称'hibernate_unique_key',我的数据库中不存在表。
答案 0 :(得分:8)
我建议使用每个表格的hilo,为此,您需要创建表格manually
,然后添加一些数据行,例如:
CREATE TABLE hibernate_unique_key (
TableName varchar(25) NOT NULL,
NextHi bigint NOT NULL
)
然后在数据库中为要使用hilo的every
表添加一行:例如
CmsLogin,10
Address, 10
您的映射将包含以下内容: -
<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>
和中提琴!
答案 1 :(得分:1)