.net之如何在新数据库中创建 hibernate_unique_key 表

grandyang 阅读:54 2025-06-02 22:19:02 评论:0

我正尝试按照 NHibernate 2.0 Beginners Guide 中的示例使用 NHibernate 创建我的第一个测试应用程序.该示例在映射中使用 HiLo POID 生成器。我知道这个算法需要特殊的数据库表来存储当前的 Hi 值。但是我不明白这个表是怎么创建的?我需要手动创建表(我还没有找到该表的 SQL 脚本)还是应该由 session 自动创建?

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

请您参考如下方法:

我建议采用 hilo per table 策略,为此您需要手动创建表,然后添加一些数据行,例如

CREATE TABLE hibernate_unique_key ( 
  TableName varchar(25) NOT NULL, 
  NextHi bigint NOT NULL 
) 

然后在数据库中为您希望使用 hilo 的每个表添加一行:例如

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> 

还有中提琴!


标签:hibernate
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号