我正在尝试使用NHibernate 2.0初学者指南中的NHibernate创建我的第一个测试应用程序.该示例在映射中使用HiLo POID生成器.据我所知,该算法需要特殊的数据库表来存储当前的Hi值.但我不明白这个表是如何创建的?我是否需要手动创建表(我没有找到此表的SQL脚本),还是应该由会话自动创建?
我当前的代码抛出异常消息:无效的对象名称'hibernate_unique_key'并且我的数据库中不存在表.
我建议每个表的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)
和中提琴!
| 归档时间: |
|
| 查看次数: |
4220 次 |
| 最近记录: |