用于属性值的NHibernate生成器(来自序列或自动增量)

时间:2013-04-05 07:35:26

标签: nhibernate oracle10g

我有以下nHibernate Mapping和相应的类。映射工作正常。 我希望从'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类型的新记录之前,我通过运行查询从RfpSequence获取NEXTVAL。有没有什么方法可以让nHibernate为我这样做,就像它对Id字段一样。

1 个答案:

答案 0 :(得分:1)

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

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

有一点需要注意,因为NH需要在插入后直接执行选择以更新值。