0

我需要生成一个唯一的整数,我用它来识别外部系统的订单。我在应用程序中使用 NHibernate HiLo 生成器,所以我可以通过编程方式访问生成器,让它返回一个唯一的整数吗?我不需要将其存储在任何数据库键中。我只想使用生成唯一整数的 NH 功能。

我将在 HiLo 表中添加一列,该列仅用于这个唯一的数字序列,而不用于任何真正的数据库键。例如,假设我在 hibernate_unique_key 表中添加了一列“Foo”。

然后我可以做点什么吗:

int n = GetNextId("Foo");

我只是在哪里传递列的名称?

4

1 回答 1

1

您应该能够仅实例化TableHiLoGeneratoror SequenceHiLoGenerator,对其进行配置并Generate在需要值时调用。

调用时Generate(),您可以传递session.GetSessionImplementation()第一个参数和null第二个参数。

现在,请记住,如果您没有真正存储这些数字,那么使用数据库生成它们可能不是最好的主意。GUID 实际上是唯一的 128 位数字,可以更轻松地生成。

于 2012-10-09T16:07:46.183 回答