2010-09-21 85 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>