使用<;参数>;在<;发电机>;在NHibernate

使用<;参数>;在<;发电机>;在NHibernate,nhibernate,Nhibernate,我可能要问的问题可能是一个相当琐碎的问题,但仍然要求有人向我解释以下代码之间的差异: <id name="Key" column="Date_Interval_Key" type="long" > <generator class="sequence" > <param name="sequence">SEQ_DATE_INTERVAL</param> </generator> </id> 序号日期间隔

我可能要问的问题可能是一个相当琐碎的问题,但仍然要求有人向我解释以下代码之间的差异:

<id name="Key" column="Date_Interval_Key" type="long" >
  <generator class="sequence" >
    <param name="sequence">SEQ_DATE_INTERVAL</param>
  </generator>
</id>

序号日期间隔
和类似的代码,但我们不使用param标记。我似乎无法理解的是,SEQ_DATE_INTERVAL指的是什么?在互联网上搜索时,我发现:

如果需要任何参数 配置或初始化生成器 实例,使用 参数元素


但有人能解释一下,在我的代码中,这个SEQ_DATE_间隔(或它的值)是从哪里传递来的吗?这有用吗?或者我可以不使用标记继续吗?

参数指示使用(可能)Oracle序列来获取实体的
Id
值。如果您没有指定
参数
,NHibernate将使用一个通用参数,名为
Hibernate\u Sequence

,谢谢您的回答。我从您的回答中推断,我们实际上可以跳过上面示例代码中提到的param,继续。此外,我还想知道我们是否可以在NHibernate查询中的任何其他地方使用这里声明的这个参数?@tahoka您可以跳过这个参数,但是如果您使用的是Oracle序列,您可能需要为每个表/类使用一个序列。那你想对那个女人做什么?NHibernate将自动获取序列的下一个值。