0

我有以下 nHibernate 映射和相应的类。映射工作正常。我希望从“1”开始自动插入“RfpId”字段的值。

<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping namespace="IBeam.Core.Models" assembly="IBeam.Core" xmlns="urn:nhibernate-mapping-2.2">
<class name="Rfp" table="EST_MRFP" schema="test$tran">
    <id name="Id" type="long">
        <generator class="sequence" >
            <param name="sequence">test$masters.global_sequence</param>
        </generator>
    </id>
    <property name="RfpId" column="RfpId" type="String" not-null="true" />
    <property name="Title" column="Title" type="String" not-null="true" />
  </class>
</hibernate-mapping>

我怎样才能做到这一点?现在我已经创建了一个 oracle 序列“RfpSequence”。在插入每个类型的新记录之前,我通过运行查询Rfp从中获取 NEXTVAL 。RfpSequence有什么方法可以让 nHibernate 为我做到这一点,就像它为该Id领域所做的那样。

4

1 回答 1

1

数据库是否负责增量?如果是这样尝试: -

<property name="RfpId" generated="always" update="false" insert="false" />

需要注意的是,NH 需要在插入后直接执行选择以更新值。

于 2013-04-05T14:20:29.343 回答