2010-09-21 37 views
0

我有一個table1的TAS與:NHibernate的2.0映射的複合-ID內的複合-ID

<class name="TAS" table="NCPTB016_TAS"> 
<composite-id> 
    <key-many-to-one column="NU_MACRO_PROCESSO_007" name="MacroProcesso"/> 
    <key-property column="NU_TAS" name="Id" /> 
</composite-id> 
... //and some other properties 

,我有一個表,它是:

<class name="STAS" table="NCPTB017_STAS"> 
<composite-id> 
    <key-many-to-one column="NU_MACRO_PROCESSO_016" name="MacroProcesso"/> 
    <key-many-to-one column="NU_TAS_016" name="TAS" /> 
    <key-property column="NU_STAS" name="Id" /> 
</composite-id> 
... //some properties 

表STAS是一個複合-ID。這是一個TAS鍵(這是一個複合ID)和另一個鍵。 我如何映射? 當我做我正在做我得到一個錯誤的方式:

外鍵(FK451D68E632669A4:NCPTB017_STAS [NU_TAS_016]))必須有相同數量的被引用的主鍵列(NCPTB016_TAS [NU_MACRO_PROCESSO_007,NU_TAS])


更簡單, 如何映射具有複合ID的多對一?

例如: 表1有compososite-ID ID1和ID2 表2有許多到一個由表1,因爲它與從表1 ID1和ID2複合FK ...

感謝您的幫助!

回答

1

從未使用過它,但我要說的是這樣的:

<many-to-one ...> 
    <column name="key1" /> 
    <column name="key2" /> 
</many-to-one>