是否可以将多个组件映射为复合ID?

时间:2012-08-21 07:05:40

标签: hibernate nhibernate-mapping

是否可以在Hibernate HBM映射文件中使用多个组件作为composite-id?在下面的代码段中,TradeServiceId和ChargeId是实际的类。

我希望这两个字段成为此表的复合主键

    <component name="tradeServiceId" class="com.ucpb.tfs.domain.service.TradeServiceId" insert="false" update="false">
        <property name="tradeServiceId" column="serviceInstructionId" type="string" />
    </component>

    <component name="chargeId" class="com.ucpb.tfs.domain.reference.ChargeId" insert="false" update="false">
        <property name="chargeId" column="chargeId" type="string" />
    </component>

1 个答案:

答案 0 :(得分:1)

IMO不可能,因为compositeId只支持KeyProperty和Keyreferences。但是可以使用IUserType和ICompositeUserType,这意味着您可以自己实现转换。