HiLo NHibernate id生成器实现
我想使用“hilo”生成器,但没有任何完整的示例,如NH文档所述,如何创建“特定”表以及哪些值传递给它。 以下代码片段摘自NH教程
public class Cat
{
private Int64 id;
private string name;
private char sex;
private float weight;
public Cat()
{}
public virtual Int64 Id
{
get { return id; }
set { id = value; }
}
....
}
映射器
<hibernate-mapping ...>
<class name="Cat" table="Cat">
<id name="Id" >
<column name="CatId" sql-type="Int64" not-null="true"/>
<generator class="hilo"/>
</id>
<property name="Name">
<column name="Name" length="16" not-null="true" />
</property>
....
</class>
</hibernate-mapping>
数据库表“Cat”CatId bigint NOT NULL名称varchar(16)NOT NULL性别char(1)NULL重量实数NULL默认情况下不会在数据库中创建任何内容。
“id”节点中的参数
<param name="table">hi_value</param>
<param name="column">next_value</param>
<param name="max_lo">100</param>
给出“无效的对象名'hi_value'”错误信息,没有他们我得到“无效的对象名'hibernate_unique_key'。”
在他们的教程中显示的Cuid.Comb很好,但是当我在一个循环的20K猫对象中添加时,会产生99.12%的碎片。 有人可以给我一个“hilo”实现的例子,或给我一个提示,我错过了什么?
谢谢。
该解决方案解决了我的问题 这很简单,不知道为什么在nhibernate网站上没有这样的小例子。
您可能会遇到NH-2687。
链接地址: http://www.djcxy.com/p/19123.html