创建重复外键的 NHibernate 映射

本文关键字:NHibernate 映射 创建 | 更新日期: 2023-09-27 18:36:12

我有 2 个 POCO 映射如下:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
    <class name="APPayment" table="APPayments">
        <id name="PaymentId">
            <generator class="guid" />
        </id>
        <many-to-one name="Invoice" class="APInvoice" cascade="none" 
            column="InvoiceId" index="ixPaymentInvoice" not-null="true" />
    </class>
    <class name="APInvoice" table="APInvoices">
        <id name="InvoiceId">
            <generator class="guid" />
        </id>
        <bag name="Payments" inverse="true" cascade="none" >
            <key column="PaymentId" foreign-key="fkInvoicePayments" />
            <one-to-many class="APPayment" />
        </bag>
    </class>
</hibernate-mapping>

由于某种我无法理解的原因,我在APPayments表上生成了重复的外键:

fk9cdfbf509640182e
fkinvoicepayments

我认为这也会导致保存对象关系的其他一些问题。 我是否配置了映射错误? 我需要做什么才能使其正常工作?

创建重复外键的 NHibernate 映射

这是你的问题:

<key column="PaymentId" ...

集合的key应为发票 ID