2013-04-05 38 views
0

我有以下nHibernate映射和相應的類。映射工作正常。 我想從'1'開始自動插入字段'RfpId'的值。屬性值的NHibernate生成器(來自序列或自動增量)

<?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這個字段一樣。

+0

FrpId被定義爲一個字符串,是否正確? – Rippo 2013-04-05 14:22:00

回答

1

數據庫是否負責增量?如果是這樣,請嘗試: -

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

有一點需要注意,因爲NH需要在insert之後直接執行選擇來更新值。